1、Consul 是什麼 願意瞭解原始碼的朋友直接企鵝求求:二一四七七七五六三三 Consul 是一個支援多資料中心分散式高可用的服務發現和配置共享的服務軟體,採用 Go 語言開發。 Consul 支援健康檢查,並允許 HTTP 和 DNS 協議呼叫 API 儲存鍵值對。Consul 採用 Raft 一致性協議演算法,來保證服務的高可用;使用 GOSSIP 協議管理成員和廣播訊息,並且支援 ACL 訪問控制。
2、Consul 的使用場景 Docker 例項的註冊與配置共享 與 Consul template 服務整合,動態生成 Nginx 和 HAProxy 等配置檔案 Spring-Cloud-Consul 服務發現和配置檔案儲存
3、Consul 的優勢 使用 Raft 演算法來保證一致性, 比 ZooKeeper 的 Paxos 演算法更簡單直接。 支援多資料中心,內外網的服務採用不同的埠進行監聽。 ZooKeeper 和 etcd 均不提供多資料中心功能的支援。 支援健康檢查,etcd 不提供此功能。 支援 http 和 dns 協議介面。ZooKeeper 的整合較為複雜,etcd 只支援 http 協議。 官方提供 web 管理介面,etcd 無此功能。 Consul 1.2 新增 Service Mesh 解決方案。
4、Consul、ZooKeeper、etcd、Eureka 比較
技術架構圖: 程式碼結構圖: 資料和原始碼來源