什么是腦裂
通俗來講就是一個黑幫中出現了兩個老大,所謂一山不容二虎,就造成了領導混亂。
我們拿ZooKeeper集群來講一下腦裂是如何產生的。
首先,我們有一個集群,集群里只有一個leader
但是此時由於網絡波動,使得一部分服務器脫離了集群,形成了一個小的集群,此時群龍無首,他們就會選舉出一個新的leader
但是由於網絡修復,分離出去的服務器又連接上了集群,就造成了兩個leader存在。由此造成腦裂。
解決腦裂
所以集群要防止出現Split-Brain的問題出現,Quoroms是一種方式,即只有集群中超過半數節點投票才能選舉出Leader。
這樣的方式可以確保leader的唯一性,要么選出唯一的一個leader,要么選舉失敗.
ZooKeeper默認采用了這種方式。