使用Rust實現服務配置/注冊中心

Conreg

使用 Rust 實現的配置與注冊中心,參考了 Nacos 的設計,簡單易用,使用 Raft 保證集群節點數據一致性。

支持的平臺:

  • Ubuntu
  • CentOS
  • 其他常見的 Linux 發行版(我們使用 musl 編譯,理論上支持所有主流 Linux 發行版)

開源地址:https://github.com/xgpxg/conreg

功能特性

配置中心:

  • 命名空間隔離
  • 配置增刪改查操作
  • 一致性同步(Raft)
  • 配置歷史記錄
  • 配置恢復
  • 配置導入/導出

注冊中心:

  • 命名空間隔離
  • 服務注冊
  • 心跳檢測
  • 服務發現
  • 實例元數據

安全:

  • 登錄驗證
  • OpenAPI 認證

客戶端 SDK(conreg-client):

  • 配置獲取
  • 服務注冊
  • 服務發現
  • 負載均衡

集群管理工具:

  • 集群初始化
  • 集群擴容
  • 集群縮容
  • Raft 狀態監控
  • 集群升級
  • 集群備份

Web UI:

  • 基礎 UI
  • 嵌入與集成

使用方法

Conreg 服務端

單機部署

# 下載包
curl -L https://github.com/xgpxg/conreg/releases/latest/download/conreg-server.tar.gz | tar -zxvf - -C .# 啟動服務
conreg-server -p 8000

使用瀏覽器打開:http://127.0.0.1:8000

默認用戶名和密碼:conreg/conreg

集群部署

在生產環境中,通常建議使用集群部署。以下示例使用 3 個節點的集群:

# 下載包
curl -L https://github.com/xgpxg/conreg/releases/latest/download/conreg-server.tar.gz# 解壓包
tar -zxvf conreg-server.tar.gz -C ./conreg1 tar -zxvf conreg-server.tar.gz -C ./conreg2 tar -zxvf conreg-server.tar.gz -C ./conreg3# 啟動服務
conreg1/conreg-server -p 8001 -d ./conreg1/data1 -m cluster -n 1 conreg2/conreg-server -p 8002 -d ./conreg2/data2 -m cluster -n 2 conreg3/conreg-server -p 8003 -d ./conreg3/data3 -m cluster -n 3# 初始化集群
curl -X POST http://127.0.0.1:8001/api/cluster/init -d [[1,"127.0.0.1:8001"],[2,"127.0.0.1:8002"],[3,"127.0.0.1:8003"]]

可以使用代理組件,如 Nginx,來代理集群節點,以便可以通過瀏覽器訪問后臺頁面,或者直接訪問集群中的任何一個節點。

對于集群管理(如初始化、擴容、縮容、監控等),我們提供了一個集群管理的 CLI 工具:conreg-cmt,可以很方便的使用。

Usage: conreg-cmt --server <SERVER> <COMMAND>Commands:init         Initialize the clusteradd-learner  Add a learner node to the clusterpromote      Promote some learner node to a full member, must call "add-learner" firstremove-node  Remove a node from the clusterstatus       Get cluster statusmonitor      Monitor cluster statushelp         Print this message or the help of the given subcommand(s)Options:-s, --server <SERVER>  Address of any node in the cluster [default: 127.0.0.1:8000]-h, --help             Print help-V, --version          Print version

Conreg 客戶端

conreg-client 是 Conreg 的客戶端 SDK,用于集成到您的 Rust 應用程序中。

您可以從 conreg-client 中查看詳細文檔。

UI

看這里:conreg-ui

在這里插入圖片描述

性能指標

測試機器(Windows WSL):Intel i7-8750H,6 核 12 線程,16G 內存。

使用單機模式發起 100 萬個請求進行測試。

操作類型性能指標備注
配置寫入1.3k/s-
配置讀取11k/s未啟用緩存
配置讀取52k/s啟用緩存
服務實例注冊1.1k/s-
服務實例查詢55k/s-
服務實例心跳1.4k/s-

內存穩定占用在 55.7M左右

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/98048.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/98048.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/98048.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

三色標記算法

在 JVM 并發垃圾收集&#xff08;GC&#xff09;中&#xff0c;三色標記算法是實現 “GC 線程與用戶線程并行執行” 的關鍵技術&#xff0c;它解決了并發場景下 “如何準確標記存活對象” 的核心問題&#xff0c;是 CMS、G1 等現代收集器的底層基礎。一、三色標記的核心&#x…

OpenStack 管理與基礎操作學習筆記(一):角色、用戶及項目管理實踐

OpenStack實驗 OpenStack命令 admin-openrc.sh 進入管理員視圖查看當前 OpenStack 中的項目列表&#xff0c;驗證是否已經登錄成功切換用戶 修改文件切換用戶上傳文件切換用戶OpenStack 認證管理 實驗介紹 通過 OpenStack Dashboard 和 OpenStack CLI 兩種方式創建角色、用戶、…

直接查找試卷且可以免費下載

有什么網站可以直接查找試卷且可以免費下載&#xff1f; SearXNG開源元搜索引擎 This website shows the SearXNG public instances searx一個可定制的搜索引擎 分享一個基于Blockstack的DApp-searx,一個可定制的搜索引擎。 1- 鏈接 官網地址&#xff1a;https://searx.worl…

【獨立版】智創云享知識付費小程序 v5.0.23+小程序 搭建教程

介紹智創云享知識付費小程序v5.0.23 含PC、小程序、H5 、前端&#xff0c;系統獨立版已修復已知bug問題。框架是一款基于ThinkPHP框架開發的虛擬資源知識付費小程序&#xff0c;為廣大創業者、自媒體及培訓機構提供知識付費、內容付費、資源變現等領域的行業解決方案&#xff1…

布爾運算-區間dp

面試題 08.14. 布爾運算 - 力扣&#xff08;LeetCode&#xff09; Solution 這題的思路比較直接&#xff0c;就是枚舉最后一個進行計算的運算符&#xff0c;但是在實現過程中需要注意&#xff0c;定義范式f(l,r)表示l到r范圍&#xff0c;l和r必須為數字&#xff0c;l1,r-1為運…

MyBatis-Plus 擴展全局方法

1.文件內容package com.ruoyi.business.mybatisplus.base;import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.IService;import java.util.List;/*** 擴展的 Service 接口* 所有自定義 Service 接口都需要繼承此接口…

13.Linux OpenSSH 服務管理

文章目錄Linux OpenSSH 服務管理環境準備OpenSSH 服務介紹SSH 介紹SSH 建立連接的過程加密類型雙向加密過程使用 ssh 訪問遠端CLIssh 工具演示ssh工具配置文件配置 ssh 密鑰認證ssh 故障模擬故障模擬排故故障自定義 SSH 服務配置文件禁止 root 登錄禁止密碼登錄只允許特定用戶登…

速通ACM省銅第五天 賦源碼(MEX Count)

目錄 引言&#xff1a; MEX Count 題意分析 邏輯梳理 代碼實現 結語&#xff1a; 引言&#xff1a; 本來&#xff0c;今天我是想著出倆題或三題題解的&#xff0c;但是在打第一題的時候就天塌了&#xff0c;導致今天就只搓了一道題&#xff0c;這題的難度在CF中為1300的水準&…

【數據結構與算法-Day 27】堆的應用:從堆排序到 Top K 問題,一文徹底搞定!

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

企業即時通訊保障企業通訊安全,提升企業部門協作效率

在當今數字化轉型的大潮中&#xff0c;企業即時通訊軟件已從單純的溝通工具&#xff0c;逐步演變為保障企業數據安全的核心基礎設施。吱吱企業即時通訊軟件通過“私有化部署全流程加密”的雙重機制&#xff0c;為企業構建了一套集“通訊安全”與“部門協作”于一體的數字化解決…

《華為變革法:打造可持續進步的組織》讀書筆記

推薦序一&#xff1a;變革是企業活下去的基礎&#xff08;胡彥平&#xff09;華為前常務副總裁、變革指導委員會成員胡彥平在序言中強調&#xff0c;企業存續的核心命題是應對不確定性&#xff0c;而變革能力是破解這一命題的唯一答案。他以華為 30 余年的發展歷程為例&#xf…

第二篇:排序算法的簡單認識【數據結構入門】

排序算法的分類標準 時間復雜度分類 a. 簡單排序算法&#xff1a;時間復雜度O(n)&#xff0c;冒泡排序、選擇排序、插入排序&#xff1b; b. 高級排序算法&#xff1a;時間復雜度O(n logn)&#xff0c;快速排序、歸并排序、堆排序&#xff1b; c. 線性排序算法&#xff1a;時間…

快速掌握Dify+Chrome MCP:打造網頁操控AI助手

你是否曾經希望那些強大的開源大模型能更貼合你的專業領域&#xff0c;或者學會模仿你的行文風格&#xff1f;其實&#xff0c;實現這個目標的關鍵就在于“微調”。曾幾何時&#xff0c;微調模型是大公司的專屬游戲——動不動就需要幾十張GPU和復雜的分布式訓練技術。 而現在&…

單詞記憶-輕松記憶10個實用英語單詞(15)

1. repaint含義&#xff1a;重新油漆 讀音標注&#xff1a;/?ri??pe?nt/ 例句&#xff1a;We need to repaint the walls after the repairs. 譯文&#xff1a;修理完成后需要重新粉刷墻壁。 衍生含義&#xff1a;重新繪制&#xff08;圖像場景&#xff09;&#xff1b;翻新…

visual studio快捷鍵

1.visual studio代碼格式化快捷鍵 1.CtrlA&#xff08;全選&#xff09; 2.CtrlK 3.CtrlF2.多行注釋 1.Ctrlk 2.Ctrlc2.多行取消注釋 1.Ctrlk 2.Ctrlu

Django全棧班v1.04 Python基礎語法 20250913 下午

練習&#xff1a;個人信息收集器 任務&#xff1a;創建一個個人信息收集和展示程序 要求&#xff1a; 收集用戶的姓名&#xff0c;年齡&#xff0c;城市&#xff0c;愛好驗證年齡輸入&#xff0c;必須是正數格式化輸出用戶信息計算用戶出生年份 name input("請輸入姓名&a…

學習海康VisionMaster之字符缺陷檢測

前言&#xff1a;差不多三個月沒更新了&#xff0c;天天碼代碼&#xff0c;實在是太忙了&#xff0c;有時候也在想這么忙到底是不是工作方法的問題&#xff0c;怎么樣才能變成大師呢&#xff01; 一&#xff1a;進一步學習 今天學習下VisionMaster中的字符缺陷檢測&#xff1…

若依4.8.1打包war后在Tomcat無法運行,404報錯的一個解決方法

背景 最近使用若依4.8.1進行二次開發&#xff0c;接著嘗試打包成war包進行部署&#xff0c;結果出現了404&#xff0c;提示“HTTP狀態 404 - 未找到&#xff0c;請求的資源[/ruoyi-admin/]不可用”&#xff0c;翻了網上的教程&#xff0c;包括看了官方的解疑都沒有說到該情況。…

華清遠見25072班網絡編程學習day6

重點內容&#xff1a;數據庫基本概念:數據&#xff08;Data&#xff09;&#xff1a;能夠輸入計算機并能被計算機程序識別和處理的信息集合數據 &#xff08;Database&#xff09;數據庫是在數據庫管理系統管理和控制之下&#xff0c;存放在存儲介質上的數據集合重要概念&#…

機器學習-網絡架構搜索

Neural Architecture Search&#xff08;NAS&#xff09; 一個神經網絡有不同類型的超參數 拓撲結構&#xff1a;resnet&#xff0c;mobilenet 單獨層&#xff1a;核大小&#xff0c;卷積層的通道&#xff0c;輸出隱藏單元的個數NAS自動設計神經網絡 如何設計搜索空間 如何探索…