溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【分布式】Zookeeper的Leader選舉-選舉過程介紹

發(fā)布時間:2020-07-01 14:10:11 來源:網(wǎng)絡(luò) 閱讀:913 作者:wx5858ba2dd00dd 欄目:軟件技術(shù)

【分布式】Zookeeper的Leader選舉-選舉過程介紹

    選舉開始,每臺服務(wù)器都有一張選票,并且會投自己,選自己當選Leader。
    在投票完成后,會將投票信息發(fā)送給集群中的所有服務(wù)器(觀察者服務(wù)器不參與選舉)。

選票由兩部分組成:服務(wù)器唯一標識myid和事務(wù)編號zxid,即(myid,xzid)。

zxid越大說明數(shù)據(jù)越新,在選擇算法中的權(quán)重越大。
myid越大,在選擇算法中的權(quán)重越大。

比較選票時會先比較zxid,zxid大的獲勝,zxid相同時比較myid,myid大的獲勝,勝利方選票不變,失敗方選票將變成與勝利方一樣,并再次將該投票發(fā)送出去。

當有過半機器收到相同的投票信息,則選出Leader,選舉結(jié)束。

例如:
有A,B,C三臺服務(wù)器參與競選,myid分別為1,2,3,zxid分別為9,9,8。
選舉過程為:
A收到的選票為(2,9),(3,8),與自己的(1,9)比較,選票變?yōu)椋?,9),投出。
B收到的選票為(1,9),(3,8),與自己的(2,9)比較,結(jié)果不變。
C收到的選票為(1,9),(2,9),與自己的(3,8)比較,選票變?yōu)椋?,9),投出。

此時B機器擁有過半選票,當選為Leader。

由上面規(guī)則可知,通常那臺服務(wù)器上的數(shù)據(jù)越新(ZXID會越大),其成為Leader的可能性越大,也就越能夠保證數(shù)據(jù)的恢復(fù)。如果ZXID相同,則myid越大機會越大。

參考資料:

http://www.cnblogs.com/leesf456/p/6107600.html
https://www.cnblogs.com/yuyijq/p/4116365.html
http://www.cnblogs.com/ASPNET2008/p/6421571.html

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI