Zookeeper:
自己理解:
分佈式系統的可靠協調系統。
監控主從服務器的死活,當主服務器掛的時候,通過選舉leader方式進行主服務器的選取,保證有主服務器。
一般主從服務器的部署數量是奇數,因爲要選舉leader。
百度百科原理:
ZooKeeper是以Fast Paxos算法爲基礎的,Paxos 算法存在活鎖的問題,即當有多個proposer交錯提交時,有可能互相排斥導致沒有一個proposer能提交成功,而Fast Paxos作了一些優化,通過選舉產生一個leader (領導者),只有leader才能提交proposer,具體算法可見Fast Paxos。因此,要想弄懂ZooKeeper首先得對Fast Paxos有所瞭解。 [3]
ZooKeeper的基本運轉流程:
1、選舉Leader。
2、同步數據。
3、選舉Leader過程中算法有很多,但要達到的選舉標準是一致的。
4、Leader要具有最高的執行ID,類似root權限。
5、集羣中大多數的機器得到響應並接受選出的Leader。
Fast Paxos算法: