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

Zookeeper選舉機制涉及的概念有哪些?

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

1577370495235_學IT就到黑馬程序員.gif

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

1.服務器ID

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

2.選舉狀態(tài)

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

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

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

4.邏輯時鐘

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




   

猜你喜歡:

怎樣通過Shell命令操作Zookeeper?

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

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

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

分享到:
在線咨詢 我要報名
和我們在線交談!