您好,登錄后才能下訂單哦!
etcd是一種先進的key-value的存儲系統(tǒng),本文主要是學(xué)習(xí)etcd的心得,如有誤解,敬請拍磚
主要分成三種形式的選舉,先說一下etcd節(jié)點的三種狀態(tài),分別為leader,candidate和follower
第一種:初始選舉
A、B、C、D現(xiàn)在進場,那么誰當(dāng)領(lǐng)導(dǎo)呢?A(變身candidatae)就分別找BCD談話,“我來當(dāng),你沒意見吧”。B\C都沒什么主見,就同意了,D雖然不同意,但是大家都這么說,只好也同意了。A就開始行使權(quán)利,定時從BCD同步日志,并發(fā)送心跳(heartbeat)
第二種,leader異常
A是領(lǐng)導(dǎo),BCD是follower,大家正在工作。此時突然A肚子痛了上廁所(故障),BCD都有事,但是沒辦法匯報。BCD就商量了,咱們重新選個領(lǐng)導(dǎo)吧!于是B(變身candidate)主動單獨跟C、D詢問,"我來當(dāng)領(lǐng)導(dǎo),你們有意見沒有?"。CD都沒有意見,于是B就當(dāng)了領(lǐng)導(dǎo),那么此時A剛好回來啦,就發(fā)現(xiàn)這一幕,怎么辦?他們就一較高下,根據(jù)日志的步進數(shù)來決定誰當(dāng)領(lǐng)導(dǎo),因為A缺席了那么久,很多消息都沒有,所以就失敗了。于是A清理自己的消息,變成了follower。
第三種,follower異常
同上,但是肚子痛的是C,不是A。ABD正常工作,當(dāng)C回來了,就直接成為follower。
第四種,初始的follower中在同一個時間同時變身(成為candidate),
A去找C談話了,B去跟D談話了。C答應(yīng)跟A,D答應(yīng)跟B,此時A去問D就被直接拒絕了,B問C也同樣被拒絕。A問B兩人都是candidate,誰怕誰??!你也拒絕我,我也拒絕你。那么四個人怎么辦呢?A經(jīng)過一個時間差(150ms~300ms)再次向C,D發(fā)起談話,此時,C,D都同意了A(B還沒有反應(yīng)過來),此時A已經(jīng)成為了leader,B發(fā)現(xiàn)已經(jīng)有了leader了,重新成為了follower.
免責(zé)聲明:本站發(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)容。