當前位置:編程學習大全網 - 編程軟體 - zookeeper什麽意思

zookeeper什麽意思

zookeeper是動物管理員的意思。

ZooKeeper是壹個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby壹個開源的實現,是Hadoop和Hbase的重要組件。它是壹個為分布式應用提供壹致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。

ZooKeeper包含壹個簡單的原語集,提供Java和C的接口。

ZooKeeper代碼版本中,提供了分布式獨享鎖、選舉、隊列的接口,代碼在$zookeeper_home\src\recipes。其中分布鎖和隊列有Java和C兩個版本,選舉只有Java版本。

它的原理:

ZooKeeper是以Fast Paxos算法為基礎的,Paxos 算法存在活鎖的問題,即當有多個proposer交錯提交時,有可能互相排斥導致沒有壹個proposer能提交成功,而Fast Paxos做了壹些優化,通過選舉產生壹個leader (領導者),只有leader才能提交proposer,具體算法可見Fast Paxos。因此,要想弄懂ZooKeeper首先得對Fast Paxos有所了解。

ZooKeeper的基本運轉流程:1、選舉Leader。2、同步數據。3、選舉Leader過程中算法有很多,但要達到的選舉標準是壹致的。4、Leader要具有最高的執行ID,類似root權限。5、集群中大多數的機器得到響應並接受選出的Leader。

  • 上一篇:vb中為什麽要將數據定義為整型,有時又要定義為單精度single?這兩個又有什麽區別?還有什麽時候
  • 下一篇:apt什麽意思
  • copyright 2024編程學習大全網