leader选举的原理
接下來(lái)再我們基于源碼來(lái)分析leader選舉的整個(gè)實(shí)現(xiàn)過(guò)程。?
leader選舉存在與兩個(gè)階段中,一個(gè)是服務(wù)器啟動(dòng)時(shí)的leader選舉。?另一個(gè)是運(yùn)行過(guò)程中l(wèi)eader節(jié)點(diǎn)宕機(jī)導(dǎo)致的leader選舉?;
在開(kāi)始分析選舉的原理之前,先了解幾個(gè)重要的參數(shù)
服務(wù)器ID(myid)
比如有三臺(tái)服務(wù)器,編號(hào)分別是1,2,3。?
編號(hào)越大在選擇算法中的權(quán)重越大。
zxid事務(wù)id
值越大說(shuō)明數(shù)據(jù)越新,在選舉算法中的權(quán)重也越大
邏輯時(shí)鐘(epoch?–?logicalclock)
或者叫投票的次數(shù),同一輪投票過(guò)程中的邏輯時(shí)鐘值是相同的。每投完一次票這個(gè)數(shù)據(jù)就會(huì)增加,然后與接收到的其它服務(wù)器返回的投票信息中的數(shù)值相比,根據(jù)不同的值做出不同的判斷。
選舉狀態(tài)
LOOKING,競(jìng)選狀態(tài)。
FOLLOWING,隨從狀態(tài),同步leader狀態(tài),參與投票。
OBSERVING,觀察狀態(tài),同步leader狀態(tài),不參與投票。
LEADING,領(lǐng)導(dǎo)者狀態(tài)。
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的leader选举的原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Single System Image的
- 下一篇: 服务器启动时的leader选举