服務註冊中心——Consul

1:Consul介紹

Consul是一種服務網格解決方案,提供具有服務發現,配置和分段功能的全功能控制平面。這些功能中的每一個都可以根據需要單獨使用,也可以一起使用以構建完整的服務網格。領事需要數據平面,並支持代理和本機集成模型。Consul附帶了一個簡單的內置代理,因此一切都可以直接使用,還支持Envoy等第三方代理集成。

2:Consul的特點

Consul的主要特點是:

  • 服務發現:Consul的客戶端可以註冊服務,例如 api或mysql,其他客戶端可以使用Consul來發現給定服務的提供者。使用DNS或HTTP,應用程序可以輕鬆找到它們依賴的服務。

  • 運行狀況檢查:Consul客戶端可以提供任何數量的運行狀況檢查,這些檢查可以與給定服務(“ Web服務器返回200 OK”或與本地節點(“內存利用率低於90%”))相關聯。操作員可以使用此信息來監視羣集的運行狀況,服務發現組件可以使用此信息將流量從不正常的主機發送出去。

  • KV商店:應用程序可以將Consul的分層鍵/值存儲用於多種目的,包括動態配置,功能標記,協調,領導者選舉等。簡單的HTTP API使其易於使用。

  • 安全的服務通信:Consul可以爲服務生成和分發TLS證書以建立相互TLS連接。 意圖 可用於定義允許哪些服務進行通信。可以使用可以實時更改的意圖輕鬆管理服務分段,而不用使用複雜的網絡拓撲和靜態防火牆規則。

  • 多數據中心:Consul開箱即用地支持多個數據中心。這意味着Consul的用戶不必擔心會構建其他抽象層以擴展到多個區域。

3:Consul的基本架構

  • Consul是一個分佈式的,高度可用的系統。向Consul提供服務的每個節點都運行Consul代理。發現其他服務或獲取/設置鍵/值數據不需要運行代理。該代理負責健康檢查節點上的服務以及節點本身。

  • 代理與一臺或多臺Consul服務器通信。Consul服務器是存儲和複製數據的地方。服務器本身選舉一個領導者。雖然Consul可以在一臺服務器上運行,但建議使用3到5個以避免出現導致數據丟失的故障情況。對於每個數據中心,建議使用Consul服務器羣集。

  • 需要發現其他服務或節點的基礎結構組件可以查詢任何Consul服務器或任何Consul代理。代理將查詢自動轉發到服務器。

  • 每個數據中心都運行Consul服務器羣集。發出跨數據中心服務發現或配置請求時,本地Consul服務器會將請求轉發到遠程數據中心並返回結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章