Consul介紹:什麼是Consul & 與其他軟件的比較

Consul介紹

什麼是consul

Consul是一個服務網格解決方案,提供了一個功能齊全的控制檯、具有服務註冊發現、配置中心和分段功能。Consul的每一個特性既可以根據需要單獨使用,又可以一起使用來構建完成的服務網格。Consul擁有一個數據層且支持代理和本地集成模型。Consul提供了一個簡易的內置代理以方便開箱即用,同事也支持第三方代理集成例如Envoy(another proxy software)[link](https://www.envoyproxy.io)
**關鍵特性:**
1. 服務發現:客戶端可以通過Consul註冊一個服務,例如 api 或 mysql,並且其他客戶端可以通過Consul發現服務提供者。通過DNS或HTTP,應用程序可以方便的找到她們依賴的其他服務。  
2. 健康檢查:Consul客戶端可以提供任意數量的健康狀況檢查,這些檢查要麼與給定的服務相關(“web服務器是否返回200 OK”),要麼與本地節點相關(“內存利用率是否低於90%”)。管理員可以使用這些信息監視羣集運行狀況,服務發現組件也可以使用此信息將請求路由到遠離不健康的主機。
3. KV存儲:應用程序可以將Consul的KV存儲用於任何目的,包括動態配置、功能標記、協調、leader選舉等。並提供了簡易的HTTP API使其易於使用。 
4. 安全機制:Consul可以生成和頒發服務的TLS證書,以建立TLS連接。原型(Intentions)是定義允許哪些服務進行通信。使用可以隨時變更的Intentions,而不是使用複雜的網絡拓撲和靜態防火牆規則,可以輕鬆地管理服務分段。
5. 多數據中心:Consul提供開箱即用的多數據中心支持。這意味着Consul的用戶不必擔心構建額外的抽象層來應對多區域中心擴展。

Consul的設計對DevOps社區和應用開發人員都非常友好,非常適合現代的、彈性的基礎設施。

**基礎架構:**
Consul是一個分佈式,高可用系統。本節只覆蓋Consul的基本概念,更多的細節請點擊[link](https://www.consul.io/docs/connect/intentions.html)
架構圖見下方:

![r1](https://yqfile.alicdn.com/420ce04ab6439e1f615adc878c259568ac2d4a90.png)

Consul提供服務的每個節點都運行着一個consul代理。發現其他服務或獲取/設置密鑰/值數據不需要運行代理。代理負責檢查節點上的服務以及節點本身的運行狀況。
代理與一到多個Consul服務對話。Consul服務負責數據存儲和複製,這些服務選舉出一個leader(raft)。雖然Consul可以在一臺服務器上運行,但建議使用3到5臺服務器避免鼓掌導致數據丟失。每個數據中心建議搭建一套Consul集羣。
基礎設施中的組件通過任何Consul服務器或其代理可以訪問到其他服務或檢點。代理會將請求路由到Consul服務器。
每一個數據中心運行着一個Consul集羣。當發起一個跨數據中心服務發現或配置變更,本地Consul服務器會轉發請求到遠程數據中心並返回結果。

vs. 其他軟件

**vs zookeeper,doozerd,etcd**

標題1 | 標題2 | 標題3  
------- | ------- | -------  
文本1 | 文本2 | 文本3  

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