掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
Nacos : Naming and Configuration Service,可打包部署配置中心和注冊中心,也可獨立部署其中之一,配置中心、控制臺依賴mysql,由阿里巴巴2018年8月開源,github 19.1k star(截止2021.08.24)

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為梓潼企業(yè)提供專業(yè)的網站建設、成都網站設計,梓潼網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
本文只講解服務發(fā)現部分。
namespace:環(huán)境隔離、租戶隔離;不同namespace服務無法相互發(fā)現
group:業(yè)務隔離;解決不同業(yè)務下serviceName相同的問題;可獲取默認或指定group實例
cluster:集群隔離;可定制化路由偏好;可獲取全部或指定集群實例
在Nacos中他們的主要區(qū)別如下:
| emphemral | true | false |
|---|---|---|
| 名稱 | 臨時實例 | 永久實例 |
| CAP | AP | CP |
| 一致性協(xié)議 | distro | raft |
| 是否持久化 | 否 | 是 |
| 健康檢查方式 | 心跳/連接 | 服務端檢查(TCP、HTTP、MYSQL) |
客戶端(SDK)根據service,指定部分或全部group、cluster獲取相應的實例,客戶端根據權重或其他策略進行路由
插件式selector實現自定義路由模式,可對接第三方CMDB
與CMDB對接,根據service、ip等信息獲取元數據(如機房位置)
自定義實現選擇器selector,根據手動配置規(guī)則表達式選取相應實例
全量數據位于內存中,每個節(jié)點數據保持一致,節(jié)點間采取同步協(xié)議進行復制
數據結構
一個客戶端連接為一個client,打包客戶端的信息與注冊、訂閱數據
publisherIndexes => 哪些客戶端注冊了哪些服務
同步協(xié)議
distro
raft
| 功能/版本 | 1.x distro | 1.x raft | 2.x distro | 2.x raft |
|---|---|---|---|---|
| 注冊/注銷 | http | http | grpc | http |
| 訂閱 | http | http | grpc | grpc |
| 心跳/健康檢查 | http | TCP/http/mysql | TCP | TCP/http/mysql |
| 推送 | udp | udp | grpc | grpc |
| 集群間數據同步 | http/distro | http/自研raft | grpc/distro | jraft |
Nacos-sync
主要用于注冊中心遷移以及多數據中心數據同步
consumer側可使用域名方式發(fā)現服務,無需使用Nacos客戶端
支持Nacos數據同步至MCP Server

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流