etcd除了受到Zookeeper與doozer啟發而催生的項目,還擁有與之類似的功能外,更具有以下4個特點:{![引自Docker官方文檔]}。
- 簡單:基于HTTP+JSON的API讓你用curl指令就可以輕松使用。
- 安全:可選SSL客戶認證機制。
- 快速:每個執行個體每秒支援一千次寫操作。
- 可信:使用Raft算法充分實作了分布式。
至于為什麼不用zookeeper或者eureka等,除了根據項目考慮之外,就看個人喜好了,如果有哪位大佬知道更多内容,麻煩也在留言區告知小編一下,萬分感謝!
以下是常用的服務發現産品之間的比較:
Feature | Consul | zookeeper | etcd | euerka |
---|---|---|---|---|
服務健康檢查 | 服務狀态,記憶體,硬碟等 | (弱)長連接配接,keepalive | 連接配接心跳 | 可配支援 |
多資料中心 | 支援 | — | — | — |
kv存儲服務 | 支援 | 支援 | 支援 | — |
一緻性 | raft | paxos | raft | — |
cap | ca | cp | cp | ap |
使用接口(多語言能力) | 支援http和dns | 用戶端 | http/grpc | http(sidecar) |
watch支援 | 全量/支援long polling | 支援 | 支援 long polling | 支援 long polling/大部分增量 |
自身監控 | metrics | — | metrics | metrics |
安全 | acl /https | acl | https支援(弱) | — |
spring cloud內建 | 已支援 | 已支援 | 已支援 | 已支援 |