- 一致性協議: ETCD使用[Raft]協議, ZK使用ZAB(類PAXOS協議),前者容易理解,方便工程實現;
- 運維方面:ETCD方便運維,ZK難以運維;
- 項目活躍度:ETCD社區與開發活躍,ZK已經快死了;
- API:ETCD提供HTTP+JSON, gRPC接口,跨平臺跨語言,ZK須要使用其客戶端;
- 訪問安全方面:ETCD支持HTTPS訪問,ZK在這方面缺失;
ETCD的使用場景
和ZK相似,ETCD有不少使用場景,包括:安全
- 配置管理
- 服務註冊於發現
- 選主
- 應用調度
- 分佈式隊列
- 分佈式鎖
ETCD讀寫性能
按照官網給出的[Benchmark], 在2CPU,1.8G內存,SSD磁盤這樣的配置下,單節點的寫性能能夠達到16K QPS, 而先寫後讀也能達到12K QPS。這個性能仍是至關可觀的運維