更新時(shí)間:2021年06月17日16時(shí)54分 來源:傳智教育 瀏覽次數(shù):
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ì)比其他的低。
Zookeeper分布式系統(tǒng)的集群架構(gòu)介紹
北京校區(qū)