运行过程中的leader选举
當(dāng)集群中的leader服務(wù)器出現(xiàn)宕機(jī)或者不可用的情況時(shí),那么整個(gè)集群將無法對(duì)外提供服務(wù),而是進(jìn)入新一輪的Leader選舉,服務(wù)器運(yùn)行期間的Leader選舉和啟動(dòng)時(shí)期的Leader選舉基本過程是一致的。
(1) 變更狀態(tài)。Leader掛后,余下的非Observer服務(wù)器都會(huì)將自己的服務(wù)器狀態(tài)變更為L(zhǎng)OOKING,然后開始進(jìn)入Leader選舉過程。
(2) 每個(gè)Server會(huì)發(fā)出一個(gè)投票。在運(yùn)行期間,每個(gè)服務(wù)器上的ZXID可能不同,此時(shí)假定Server1的ZXID為123,Server3的ZXID為122;在第一輪投票中,Server1和Server3都會(huì)投自己,產(chǎn)生投票(1, 123),(3, 122),然后各自將投票發(fā)送給集群中所有機(jī)器。接收來自各個(gè)服務(wù)器的投票。與啟動(dòng)時(shí)過程相同。
(3) 處理投票。與啟動(dòng)時(shí)過程相同,此時(shí),Server1將會(huì)成為L(zhǎng)eader。?
(4) 統(tǒng)計(jì)投票。與啟動(dòng)時(shí)過程相同。
(5) 改變服務(wù)器的狀態(tài)。與啟動(dòng)時(shí)過程相同
?
?
總結(jié)
以上是生活随笔為你收集整理的运行过程中的leader选举的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 服务器启动时的leader选举
 - 下一篇: leader选举的源码分析