【Zookeeper】源碼分析之服務器(一)


一、前言

  前面已經介紹了Zookeeper中Leader選舉的具體流程,接着來學習Zookeeper中的各種服務器。

二、總體框架圖

  對於服務器,其框架圖如下圖所示

  

  說明:

  ZooKeeperServer,為所有服務器的父類,其請求處理鏈為PrepRequestProcessor -> SyncRequestProcessor -> FinalRequestProcessor。

  QuorumZooKeeperServer,其是所有參與選舉的服務器的父類,是抽象類,其繼承了ZooKeeperServer類。

  LeaderZooKeeperServer,Leader服務器,繼承了QuorumZooKeeperServer類,其請求處理鏈為PrepRequestProcessor -> ProposalRequestProcessor -> CommitProcessor -> Leader.ToBeAppliedRequestProcessor -> FinalRequestProcessor。

  LearnerZooKeeper,其是Learner服務器的父類,為抽象類,也繼承了QuorumZooKeeperServer類。

  FollowerZooKeeperServer,Follower服務器,繼承了LearnerZooKeeper,其請求處理鏈為FollowerRequestProcessor -> CommitProcessor -> FinalRequestProcessor。

  ObserverZooKeeperServer,Observer服務器,繼承了LearnerZooKeeper。

  ReadOnlyZooKeeperServer,只讀服務器,不提供寫服務,繼承QuorumZooKeeperServer,其處理鏈的第一個處理器為ReadOnlyRequestProcessor。

三、總結

  本篇只簡單介紹了服務器的繼承關系,之后會詳細分析不同服務器的行為和責任,謝謝各位園友的觀看~


免責聲明!

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



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