1. 程式人生 > >Zookeeper執行機制與選舉機制

Zookeeper執行機制與選舉機制

在這裡插入圖片描述

Zookeeper的執行機制

1.在伺服器開啟後向zookeeper註冊資訊
2.通過process來註冊監聽,獲取伺服器列表

3.此時如果有伺服器下線
4.下線通知
5.重新通過process來註冊監聽,獲取伺服器列表

在這裡插入圖片描述

Zookeeper的選舉機制

1.叢集如果宕機了一臺,如果剩餘節點足夠再次選舉並執行,則會發生選舉,如果剩餘節點不夠,則無法啟動叢集,需要重啟啟動。
2.選舉機制中的leader與follower其實與啟動的順序有關,首先啟動叢集,然後根據myid(這裡注意下,應該首先是比事務id的,但是事務id木有值,所以啟動先比較Myid,作為了解)來進行比較,第一個啟動的先給自己一票,然後第二啟動後也給自己一票,並且獲得前一臺的一票,此時節點的總數為3,那第二臺的節點票已經大於半數,則為leader,那第三臺則不進行投票了,直接為follower,第一臺也為follower
3.當在叢集啟動的過程中,有一臺節點突然下線了,我們現在是三臺節點,那還剩餘2臺,可以發生選舉,這裡首先會比較事務Id,然後比較myid來進行選舉。

一般來說叢集啟動後很少關閉,就算關閉了,再啟動也沒問題