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

Zookeeper選舉機(jī)制涉及的概念有哪些?

更新時(shí)間:2021-06-17 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

Zookeeper為了保證各節(jié)點(diǎn)的協(xié)同工作,在工作時(shí)需要一個(gè)Leader角色,而Zookeeper默認(rèn)采用FastLeaderElection算法,且投票數(shù)大于半數(shù)則勝出的機(jī)制,再介紹選舉機(jī)制前,首先了解選舉涉及的相關(guān)概念。

1.服務(wù)器ID

這是在配置集群時(shí)設(shè)置的myid參數(shù)文件,且參數(shù)分別表示為服務(wù)器1、服務(wù)器2、服務(wù)器3,編號(hào)越大在FastLeaderElection算法中的權(quán)重越大。

2.選舉狀態(tài)

在選舉過程中,Zookeeper服務(wù)器有四種狀態(tài),它們分別為競選狀態(tài)(LOOKING)、隨從狀態(tài)(FOLLOWING,同步leader狀態(tài),參與投票)、觀察狀態(tài)(OBSERVING,同步leader狀態(tài),不參與投票)、領(lǐng)導(dǎo)者狀態(tài)(LEADING)。

3.數(shù)據(jù)ID

是服務(wù)器中存放的最新數(shù)據(jù)版本號(hào),該值越大則說明數(shù)據(jù)越新,在選舉過程中數(shù)據(jù)越新權(quán)重越大。

4.邏輯時(shí)鐘

通俗的講,邏輯時(shí)鐘被稱為投票次數(shù),同一輪投票過程中的邏輯時(shí)鐘值是相同的,邏輯時(shí)鐘起始值為0,每投完一次票,這個(gè)數(shù)據(jù)就會(huì)增加。然后,與接收到其它服務(wù)器返回的投票信息中的數(shù)值相比較,根據(jù)不同的值做出不同的判斷。如果某臺(tái)機(jī)器宕機(jī),那么這臺(tái)機(jī)器不會(huì)參與投票,因此邏輯時(shí)鐘也會(huì)比其他的低。




   

猜你喜歡:

怎樣通過Shell命令操作Zookeeper?

Zookeeper集群中的三種角色簡單介紹

ZooKeeper數(shù)據(jù)發(fā)布/訂閱使用教程|Publish/Subscribe使用方法

黑馬程序員Python+大數(shù)據(jù)開發(fā)課程

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