zookeeper的设计猜想-集群组成
生活随笔
收集整理的這篇文章主要介紹了
zookeeper的设计猜想-集群组成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通常zookeeper是由2n+1臺server組成,每個server都知道彼此的存在。每個server都維護的內存狀態鏡像以及持久化存儲的事務日志和快照。對于2n+1臺server,只要有n+1臺(大多數)server可用,整個系統保持可用。我們已經了解到,一個zookeeper集群如果要對外提供可用的服務,那么集群中必須要有過半的機器正常工作并且彼此之間能夠正常通信,基于這個特性,如果向搭建一個能夠允許F臺機器down掉的集群,那么就要部署2*F+1臺服務器構成的zookeeper集群。因此3臺機器構成的zookeeper集群,能夠在掛掉一臺機器后依然正常工作。一個5臺機器集群的服務,能夠對2臺機器怪調的情況下進行容災。如果一臺由6臺服務構成的集群,同樣只能掛掉2臺機器。因此,5臺和6臺在容災能力上并沒有明顯優勢,反而增加了網絡通信負擔。系統啟動時,集群中的server會選舉出一臺server為Leader,其它的就作為follower(這里先不考慮
observer角色)。
之所以要滿足這樣一個等式,是因為一個節點要成為集群中的leader,需要有超過及群眾過半數的節點支持,這個涉及到leader選舉算法。同時也涉及到事務請求的提交投票
?
總結
以上是生活随笔為你收集整理的zookeeper的设计猜想-集群组成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zookeeper的设计猜想-leade
- 下一篇: zookeeper的名词复盘-集群角色