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支持 |
另外:
zookpeer採用的是Zab協議,相似二段提交。consul/etcd採用的是Raft算法。html
zab協議:http://www.javashuo.com/article/p-qiyvtcgr-bv.htmlredis
分佈式鎖的 : http://weizijun.cn/2016/03/17/%E8%81%8A%E4%B8%80%E8%81%8A%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E7%9A%84%E8%AE%BE%E8%AE%A1/spring