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


一. 對比常用的注冊中心

Consul、zookeeper、etcd、eureka、Nacos

Feature

Consul

Zookeeper

Etcd

Eureka

Nacos

服務健康檢查

 服務狀態,內存,硬盤等

 (弱)長連接,keepalive

 連接心跳

 可配支持

傳輸層 (PING 或 TCP)和應用層 (如 HTTP、MySQL、用戶自定義)的健康檢查

多數據中心

 支持

 —

 —

 —

支持

kv存儲服務

 支持

 支持

 支持

 —

 支持

一致性

  Raft

 Paxos

  Raft

 —

Raft

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM