zookeeper脑裂问题

面试经常问到的zookeeper脑裂问题该怎么答

正常的主从切换流程是怎么样的?

要彻底搞明白脑裂问题之前要先了解正常的主从切换流程。zookeeper通过内部心跳机制也就是所谓的watch机制来监控自身以及其他所有节点的状态信息,一旦master挂掉了,zookeeper就会通知其他注册了watch的slaver节点,其他slaver节点在收到watch回调信息后会重新选举出一个新的master节点,这样就完成了一个切换。

什么是脑裂问题?

我们都知道正常的一个主从集群里只有一个master节点,但是当master结点和slaver节点之间因为网络抖动等原因出现心跳机制超时后即所谓的假死,就是以为master挂掉了其实只是失去联系而已实际还活着。但这时候旧的网络又恢复了,导致一个集群里面出现了两个master,因为zookeeper通讯需要一个个去通知导致整个系统有的slaver连接着老的master,有的连接着新的master,这时如果同时有两个client需要对master的同一个数据进行更新,而刚好这两个client跟着不同的老大,就会出现分布式系统上经常遇到的数据不一致问题。

什么原因导致的脑裂问题?

主要原因是Zookeeper集群和Zookeeper 客户端判断超时有延时情况,也就说并不能做到完全同步。如果是集群先于客户端发现,那就会出现上面所提到的情况。同时,在发现并切换后通知各个客户端也有先后快慢。一般出现这种情况的几率很小,需要master与Zookeeper集群网络断开但是与其他集群角色之间的网络没有问题,还

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值