consul是一個支持多數據中心分佈式高可用服務發現和配置共享的服務軟件,由HashiCorp 公司用 Go 語言開發, 基於 Mozilla Public License 2.0 的協議進行開源. . Consul 支持健康檢查,並容許 HTTP 和 DNS 協議調用 API 存儲鍵值對.命令行超級好用的管理軟件,vgrant 也是 HashiCorp 公司開發的產品.web
一致性協議採用Raft算法,來保證服務的高可用, 使用 GOSSIP 協議管理成員和廣播消息, 而且支持 ACL 訪問控制.算法
docker實例的註冊與配置共享docker
coreos 實例的註冊與配置共享api
vitess 集羣網絡
SaaS 應用的配置共享分佈式
與confd服務集成,動態生成ngnix和hapioxy配置文件命令行
使用Raft算法來保證一致性,比複雜的Paxos算法更直接,相比而言,zookeeper採用的是Paxos算法,而etcd使用的是Raftdns
支持多數據中心,內外網的服務採用不一樣端口進行監聽,多數據中心能夠避免單數據中心的單節點故障,而部署能夠考慮到網絡延遲,分片的狀況,zookeeper和etcd均不提供多數據中心的功能。接口
支持健康檢查,etcd不提供此功能開發
支持http和dns協議接口,zookeeper的接口比較複雜,etcd只支持http協議,
官方提供web功能,etcd無此功能。
綜合比較,Consul做爲服務註冊,和配置管理的新星。比較值得關注和研究。