标签:脑裂 大脑 一个 集群 没有 机制 领导者 lead 总结
脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”。脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。
对于一个集群,想要提高这个集群的可用性,通常会采用多机房部署。正常情况下,此集群只会有一个Leader,那么如果机房之间的网络断了之后,两个机房内的机器还是可以相互通信的,如果不考虑过半机制,那么就会出现每个机房内部都将选出一个Leader。这就相当于原本一个集群,被分成了两个集群,出现了两个“大脑”,这就是脑裂。
在领导者选举的过程中,如果某台服务获得了超过半数的选票,则此服务就可以成为 Leader 了。比如现在集群中有5台 zkServer,那么 half=5/2=2,那么也就是说,领导者选举的过程中至少要有三台 zkServer 投了同一个 zkServer,才会符合过半机制,才能选出来一个 Leader。
总结得出,有了过半机制,对于一个集群,要么没有Leader,要没只有1个Leader,这样就避免了脑裂问题。
标签:脑裂 大脑 一个 集群 没有 机制 领导者 lead 总结
原文地址:https://www.cnblogs.com/feiqiangsheng/p/14499066.html