Consul etcd ZooKeeper euerka 对比
這里就平時(shí)經(jīng)常用到的服務(wù)發(fā)現(xiàn)的產(chǎn)品進(jìn)行下特性的對(duì)比,首先看下結(jié)論:
| 服務(wù)健康檢查 | 服務(wù)狀態(tài),內(nèi)存,硬盤等 | (弱)長(zhǎng)連接,keepalive | 連接心跳 | 可配支持 |
| 多數(shù)據(jù)中心 | 支持 | — | — | — |
| kv存儲(chǔ)服務(wù) | 支持 | 支持 | 支持 | — |
| 一致性 | raft | paxos | raft | — |
| cap | ca | cp | cp | ap |
| 使用接口(多語(yǔ)言能力) | 支持http和dns | 客戶端 | http/grpc | http(sidecar) |
| watch支持 | 全量/支持long polling | 支持 | 支持 long polling | 支持 long polling/大部分增量 |
| 自身監(jiān)控 | metrics | — | metrics | metrics |
| 安全 | acl /https | acl | https支持(弱) | — |
| spring cloud集成 | 已支持 | 已支持 | 已支持 | 已支持 |
- 服務(wù)的健康檢查
Euraka 使用時(shí)需要顯式配置健康檢查支持;Zookeeper,Etcd 則在失去了和服務(wù)進(jìn)程的連接情況下任務(wù)不健康,而 Consul 相對(duì)更為詳細(xì)點(diǎn),比如內(nèi)存是否已使用了90%,文件系統(tǒng)的空間是不是快不足了。
- 多數(shù)據(jù)中心支持
Consul 通過(guò) WAN 的 Gossip 協(xié)議,完成跨數(shù)據(jù)中心的同步;而且其他的產(chǎn)品則需要額外的開發(fā)工作來(lái)實(shí)現(xiàn);
- KV 存儲(chǔ)服務(wù)
除了 Eureka ,其他幾款都能夠?qū)ν庵С?k-v 的存儲(chǔ)服務(wù),所以后面會(huì)講到這幾款產(chǎn)品追求高一致性的重要原因。而提供存儲(chǔ)服務(wù),也能夠較好的轉(zhuǎn)化為動(dòng)態(tài)配置服務(wù)哦。
- 產(chǎn)品設(shè)計(jì)中 CAP 理論的取舍
Eureka 典型的 AP,作為分布式場(chǎng)景下的服務(wù)發(fā)現(xiàn)的產(chǎn)品較為合適,服務(wù)發(fā)現(xiàn)場(chǎng)景的可用性優(yōu)先級(jí)較高,一致性并不是特別致命。其次 CA 類型的場(chǎng)景 Consul,也能提供較高的可用性,并能 k-v store 服務(wù)保證一致性。 而Zookeeper,Etcd則是CP類型 犧牲可用性,在服務(wù)發(fā)現(xiàn)場(chǎng)景并沒(méi)太大優(yōu)勢(shì);
- 多語(yǔ)言能力與對(duì)外提供服務(wù)的接入?yún)f(xié)議
Zookeeper的跨語(yǔ)言支持較弱,其他幾款支持 http11 提供接入的可能。Euraka 一般通過(guò) sidecar的方式提供多語(yǔ)言客戶端的接入支持。Etcd 還提供了Grpc的支持。 Consul除了標(biāo)準(zhǔn)的Rest服務(wù)api,還提供了DNS的支持。
- Watch的支持(客戶端觀察到服務(wù)提供者變化)
Zookeeper 支持服務(wù)器端推送變化,Eureka 2.0(正在開發(fā)中)也計(jì)劃支持。 Eureka 1,Consul,Etcd則都通過(guò)長(zhǎng)輪詢的方式來(lái)實(shí)現(xiàn)變化的感知;
- 自身集群的監(jiān)控
除了 Zookeeper ,其他幾款都默認(rèn)支持 metrics,運(yùn)維者可以搜集并報(bào)警這些度量信息達(dá)到監(jiān)控目的;
- 安全
Consul,Zookeeper 支持ACL,另外 Consul,Etcd 支持安全通道https.
- Spring Cloud的集成
目前都有相對(duì)應(yīng)的 boot starter,提供了集成能力。
總的來(lái)看,目前Consul 自身功能,和 spring cloud 對(duì)其集成的支持都相對(duì)較為完善,而且運(yùn)維的復(fù)雜度較為簡(jiǎn)單(沒(méi)有詳細(xì)列出討論),Eureka 設(shè)計(jì)上比較符合場(chǎng)景,但還需持續(xù)的完善。
更多詳細(xì)對(duì)比:
https://cloud.tencent.com/developer/article/1491107
總結(jié)
以上是生活随笔為你收集整理的Consul etcd ZooKeeper euerka 对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Zstd 压缩性能分析(含比较)
- 下一篇: redis的关键路径和lazy-free