註冊中心Consul使用詳解

2022-05-27 18:42:10 字數 792 閱讀 9711

consul 是 hashicorp 公司推出的開源工具,用於實現分布式系統的服務發現與配置。與其它分布式服務註冊與發現的方案,consul 的方案更「一站式」,內建了服務註冊與發現框 架、分布一致性協議實現、健康檢查、key/value 儲存、多資料中心方案,不再需要依賴其它工具(比如 zookeeper 等)。使用起來也較 為簡單。consul 使用 go 語言編寫,因此具有天然可移植性(支援linux、windows和mac os x);安裝包僅包含乙個可執行檔案,方便部署,與 docker 等輕量級容器可無縫配合。

consul 的優勢:

1 使用 raft 演算法來保證一致性, 比複雜的 paxos 演算法更直接. 相比較而言, zookeeper 採用的是 paxos, 而 etcd 使用的則是 raft。

2 支援多資料中心,內外網的服務採用不同的埠進行監聽。 多資料中心集群可以避免單資料中心的單點故障,而其部署則需要考慮網路延遲, 分片等情況等。

zookeeper 和 etcd 均不提供多資料中心功能的支援。

3 支援健康檢查。 etcd 不提供此功能。

4 支援 http 和 dns 協議介面。 zookeeper 的整合較為複雜, etcd 只支援 http 協議。

5 官方提供 web 管理介面, etcd 無此功能。

綜合比較, consul 作為服務註冊和配置管理的新星, 比較值得關注和研究。

特性:

1 服務發現

2 健康檢查

3 key/value 儲存

4 多資料中心

Consul註冊中心

中文參考手冊 consul是一種服務網格解決方案,提供具有服務發現,配置和分段功能的全功能控制平面。這些功能可以根據需要單獨使用,也可以一起使用以構建完整的服務網格。consul需要乙個資料平面,並支援 和本機整合模型。consul附帶了乙個簡單的內建 因此一切都可以直接使用,還支援envoy等第三...

Consul服務註冊中心 Consul工作原理

consul工作原理如下圖所示 當服務producer啟動時,會將自己的ip host等資訊通過傳送請求告知consul,consul接收到producer的註冊資訊後,每個10s 預設 會向producer傳送乙個健康檢查的請求,檢驗producer是否監控。當consumer請求producer...

SpringBoot使用Consul註冊服務

springboot版本 2.0.3.release 1.8 finchley.sr1 org.springframework.boot spring boot starter actuator org.springframework.cloud spring cloud starter consu...