【Zookeeper】源碼分析之Leader選舉(一)


一、前言

  分析完了Zookeeper中的網絡機制后,接着來分析Zookeeper中一個更為核心的模塊,Leader選舉。

二、總結框架圖

  對於Leader選舉,其總體框架圖如下圖所示

  

  說明:

  選舉的父接口為Election,其定義了lookForLeader和shutdown兩個方法,lookForLeader表示尋找Leader,shutdown則表示關閉,如關閉服務端之間的連接。

  AuthFastLeaderElection,同FastLeaderElection算法基本一致,只是在消息中加入了認證信息,其在3.4.0之后的版本中已經不建議使用。

  FastLeaderElection,其是標准的fast paxos算法的實現,基於TCP協議進行選舉。

  LeaderElection,也表示一種選舉算法,其在3.4.0之后的版本中已經不建議使用。

三、Election源碼分析 

public interface Election {
    public Vote lookForLeader() throws InterruptedException;
    public void shutdown();
}

  說明:可以看到Election接口定義的方法相當簡單。

四、總結

  本篇講解了Leader選舉的Election接口,其是Leader選舉的父接口,關於具體子類的實現,之后會詳細進行分析,謝謝各位園友的觀看~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM