服務的註冊與發現(Consul、zookeeper、etcd、eureka、Nacos)

一. 對比常用的註冊中心

Consul、zookeeper、etcd、eureka、Nacos

 

Feature Consul Zookeeper Etcd Eureka Nacos
服務健康檢查  服務狀態,內存,硬盤等  (弱)長連接,keepalive  連接心跳  可配支持 傳輸層 (PING 或 TCP)和應用層 (如 HTTP、MySQL、用戶自定義)的健康檢查
多數據中心  支持  —  —  — 支持
kv存儲服務  支持  支持  支持  —  支持
CAP定理 CP CP CP AP CP: 配置中心
AP: 註冊中心
使用接口
(多語言能力)
支持http和dns 客戶端 http/grpc http(sidecar) Nacos 支持基於 DNS 和基於 RPC 的服務發現。服務提供者使用 原生SDK、OpenAPI、或一個獨立的Agent
watch支持  全量/支持long polling  支持  支持 long polling 支持 long polling/大部分增量 支持 long polling/大部分增量
自身監控  metrics  —  metrics  metrics  
安全  acl /https  acl  https支持(弱)  — acl
Spring Cloud集成  已支持  已支持  已支持  已支持  已支持
備註 可以作爲eureka的替代使用     2.0不在更新 1. 支持dubbo 
2. spring-cloud-alibaba支持

 

 

二. 個人總結

springcloud中實現的註冊中心

1. 當項目數量少於1000時, 可以考慮 eureka 1.x ; 2.0版本官方不在維護

2. 使用最新的可以考慮使用 Consul, 使用Raft實現一致性的同時, 儘量保證可用, 支持 k8s

3. 使用dubbo, 可以使用 zookeeper、 nacos,  推薦使用 nacos

4. nacos是阿里來源的集配置中心和註冊中心與一體的, 新版本 AP 支持性能良好, 天然支持 dubbo

               在 spring-cloud-alibaba 項目中, 很好的實現配置中心和註冊中心

              支持 k8s、spring 系列、 docker 和 多註冊中心的同步

              2.0 規劃 屏蔽 同步 k8s 和 spring 管理的差異、 支持 istio

5. 新項目可以使用 nacos

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章