脑裂的产生和解决

什么是脑裂

通俗来讲就是一个黑帮中出现了两个老大,所谓一山不容二虎,就造成了领导混乱。

我们拿ZooKeeper集群来讲一下脑裂是如何产生的。

首先,我们有一个集群,集群里只有一个leader

但是此时由于网络波动,使得一部分服务器脱离了集群,形成了一个小的集群,此时群龙无首,他们就会选举出一个新的leader

但是由于网络修复,分离出去的服务器又连接上了集群,就造成了两个leader存在。由此造成脑裂。

解决脑裂

所以集群要防止出现Split-Brain的问题出现,Quoroms是一种方式,即只有集群中超过半数节点投票才能选举出Leader。

这样的方式可以确保leader的唯一性,要么选出唯一的一个leader,要么选举失败.

ZooKeeper默认采用了这种方式。

原文地址:https://www.cnblogs.com/chuijingjing/p/10075107.html