1. 程式人生 > >ZooKeeper 原理解析

ZooKeeper 原理解析

  • 伺服器 1 啟動,此時只有它一臺伺服器啟動了,它發出去的訊息沒有任何響應,所以它的選舉狀態一直是 LOOKING 狀態;
  • 伺服器 2 啟動,它與最開始啟動的伺服器 1 進行通訊,互相交換自己的選舉結果,由於兩者都沒有歷史資料,所以 id 值較大的伺服器 2 勝出,但是由於沒有達到超過半數以上的伺服器都同意選舉它(這個例子中的半數以上是 3 ),所以伺服器 1、2 還是繼續保持 LOOKING 狀態。
  • 伺服器 3 啟動,根據前面的理論分析,伺服器 3 成為伺服器 1、2、3 中的老大,而與上面不同的是,此時有三臺伺服器選舉了它,所以它成為了這次選舉的 Leader;
  • 伺服器 4 啟動,根據前面的分析,理論上伺服器 4 應該是伺服器 1、2、3、4 中最大的,但是由於前面已經有半數以上的伺服器選舉了伺服器 3,所以它只能接收當小弟的命了。
  • 伺服器 5 啟動,同 4 一樣,當小弟。