首頁技術(shù)文章正文

Zookeeper集群角色有哪些?

更新時(shí)間:2022-07-19 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Zookeeper對(duì)外提供一個(gè)類似于文件系統(tǒng)的層次化的數(shù)據(jù)存儲(chǔ)服務(wù),為了保證整個(gè)Zookeeper集群的容錯(cuò)性和高性能,每一個(gè)Zookeeper集群都是由多臺(tái)服務(wù)器節(jié)點(diǎn)(Server)組成,這些節(jié)點(diǎn)通過復(fù)制保證各個(gè)服務(wù)器節(jié)點(diǎn)之間的數(shù)據(jù)一致。只要這些服務(wù)器節(jié)點(diǎn)過半數(shù)可用,那么整個(gè)Zookeeper集群就可用。下面我們來學(xué)習(xí)Zookeeper的集群架構(gòu),如圖5-1所示。

  從圖5-1可以看出,Zookeeper集群是一個(gè)主從集群,它一般是由一個(gè)Leader(領(lǐng)導(dǎo)者)和多個(gè)Follower(跟隨者)組成。此外,針對(duì)訪問量比較大的Zookeeper集群,還可新增Observer(觀察者)。Zookeeper集群中的三種角色各司其職,共同完成分布式協(xié)調(diào)服務(wù)。下面我們針對(duì)Zookeeper集群中的三種角色進(jìn)行簡單介紹。

1658213869771_Zookeeper集群架構(gòu)圖.jpg

  圖5-1 Zookeeper集群架構(gòu)圖

  1.Leader

  它是Zookeeper集群工作的核心,也是事務(wù)性請(qǐng)求(寫操作)的唯一調(diào)度和處理者,它保證集群事務(wù)處理的順序性,同時(shí)負(fù)責(zé)進(jìn)行投票的發(fā)起和決議,以及更新系統(tǒng)狀態(tài)。

  2.Follower

  它負(fù)責(zé)處理客戶端的非事務(wù)(讀操作)請(qǐng)求,如果接收到客戶端發(fā)來的事務(wù)性請(qǐng)求,則會(huì)轉(zhuǎn)發(fā)給Leader,讓Leader進(jìn)行處理,同時(shí)還負(fù)責(zé)在Leader選舉過程中參與投票。

  3.Observer

  它負(fù)責(zé)觀察Zookeeper集群的最新狀態(tài)的變化,并且將這些狀態(tài)進(jìn)行同步。對(duì)于非事務(wù)性請(qǐng)求可以進(jìn)行獨(dú)立處理;對(duì)于事務(wù)性請(qǐng)求,則會(huì)轉(zhuǎn)發(fā)給Leader服務(wù)器進(jìn)行處理。它不會(huì)參與任何形式的投票,只提供非事務(wù)性的服務(wù),通常用于在不影響集群事務(wù)處理能力的前提下,提升集群的非事務(wù)處理能力(提高集群讀的能力,也降低了集群選主的復(fù)雜程度)。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!