選舉leader的機制
1.過半機制:集羣中半數以上的機器存活,集羣可用。所以zookeeper適合安裝基數臺服務器。
2.zookeeper雖然在配置文件中沒有指定master和slave角色,但是在集羣集中工作時,會選舉一個Leader角色的節點,其餘節點的角色爲follower。
集羣服務啓動,投票過程簡述:
節點啓動時,先投自己,如果沒有得票過半數,則投給id值較大的節點。得票超過半數的節點立即升級爲Leader角色。
leader與follower的數據同步機制
過半機制
client往server寫數據的流程:
1.client—>server,client寫數據發生到server。
2.server內部判斷自己是否是leader角色,如果不是,把寫請求轉發給leader。(zookeeper集羣裏面只有一個節點是leader角色節點)
3.leader收到請求,寫完數據後,廣播給follower節點。
4.follower同步leader的數據。當超過一半的follower節點同步寫成功時,leader就會認爲寫數據成功。