新聞中心
01介紹
本文我們介紹 Consul 的系統(tǒng)架構(gòu),讀者朋友們閱讀完本文可以了解 Consul 的工作原理。

創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷推廣,空間域名,網(wǎng)站空間,網(wǎng)站運(yùn)營(yíng)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)。
02Consul 術(shù)語(yǔ)
在介紹 Consul 系統(tǒng)架構(gòu)之前,我準(zhǔn)備先介紹幾個(gè) Consul 術(shù)語(yǔ),目的是讓讀者朋友們更容易理解 Consul 系統(tǒng)架構(gòu)的介紹內(nèi)容。
- Datacenter 數(shù)據(jù)中心
- Cluster 集群
- Server 服務(wù)器
- Client 客戶端
- Agent 代理
Consul 原生支持多數(shù)據(jù)中心,數(shù)據(jù)中心中包含 Consul 集群,集群由客戶端、服務(wù)器或客戶端和服務(wù)器混合體的節(jié)點(diǎn)組成。
多個(gè)部署和運(yùn)行 Agent 的節(jié)點(diǎn)組成 Consul Cluster,集群中包含 Client、Server 或 Client 和 Server 的混合體。
如果節(jié)點(diǎn)運(yùn)行的 Agent 開啟 Server 模式,那么該節(jié)點(diǎn)為 Server。
如果節(jié)點(diǎn)運(yùn)行的 Agent 未開啟 Server 模式,那么該節(jié)點(diǎn)為 Client。
Agent 是 Consul 集群中所有節(jié)點(diǎn)都運(yùn)行的一個(gè)守護(hù)進(jìn)程,負(fù)責(zé)維護(hù)成員身份信息、注冊(cè)服務(wù)、運(yùn)行健康檢查、響應(yīng)查詢等。
03Consul 系統(tǒng)架構(gòu)
Consul 官方為我們提供了一張 Consul 系統(tǒng)架構(gòu)圖,在這張圖中,我們可以看到包含兩個(gè)數(shù)據(jù)中心,分別標(biāo)記為 DATACENTER 1 和 DATACENTER 2。由此可見,Consul 原生支持多數(shù)據(jù)中心。
在每個(gè)數(shù)據(jù)中心中都包含一個(gè) Consul 集群,DATACENTER 1 中的集群由 6 個(gè)部署并運(yùn)行 Agent 的節(jié)點(diǎn)組成,其中三個(gè)是以 Server 模式運(yùn)行的,另外三個(gè)是以 Client 模式運(yùn)行的。
而 DATACENTER 2 中的集群由 3 個(gè)部署并運(yùn)行 Agent 的節(jié)點(diǎn)組成,并且這三個(gè)節(jié)點(diǎn)都是以 Server 模式運(yùn)行的。
由此可以得出一個(gè)結(jié)論,DATACENTER 中的集群可以是包含 Client 和 Server 的混合體,也可以是僅包含 Server 節(jié)點(diǎn)。
需要注意的是,每個(gè) Consul 數(shù)據(jù)中心中的集群,官方建議 Server 模式運(yùn)行的節(jié)點(diǎn)控制在 3 至 5 個(gè),因?yàn)?3 至 5 個(gè) Server 節(jié)點(diǎn)發(fā)生故障時(shí),就可以提供一致性和可用性,并且 Server 節(jié)點(diǎn)是以 Raft 協(xié)議選舉 Leader,Server 節(jié)點(diǎn)越多,Leader 選舉越慢。而 Client 節(jié)點(diǎn)的數(shù)量沒有限制,它是輕量級(jí)進(jìn)程,我們甚至可以創(chuàng)建成千上萬(wàn)個(gè) Client 節(jié)點(diǎn)。
Server 負(fù)責(zé)基于 Raft 協(xié)議選舉 Leader,維護(hù)集群狀態(tài),響應(yīng) RPC 查詢,與其他 DATACENTER 交換 WAN Gossip,將查詢請(qǐng)求轉(zhuǎn)發(fā)給 Leader 或遠(yuǎn)程 DATACENTER。
Client 是無(wú)狀態(tài)的,負(fù)責(zé)將所有查詢請(qǐng)求轉(zhuǎn)發(fā)給 Server,而且 Client 不需要與其他 DATACENTER 交換 WAN Gossip,只需參與 LAN Gossip,資源開銷很小,只消耗少量網(wǎng)絡(luò)帶寬。
04總結(jié)
本文我們介紹 Consul 的系統(tǒng)架構(gòu),我們先從宏觀上了解 Consul 的工作原理,也就是先抓住綱,然后再詳細(xì)學(xué)習(xí) Consul 的各個(gè)組件。
網(wǎng)頁(yè)題目:Golang語(yǔ)言微服務(wù)的服務(wù)發(fā)現(xiàn)組件之Consul的系統(tǒng)架構(gòu)
本文URL:http://www.5511xx.com/article/djjeoig.html


咨詢
建站咨詢
