ZooKeeper中的节点故障处理机制(3)

ZooKeeper Follower 故障处理
本文探讨了ZooKeeper中Follower节点发生故障时的处理机制。包括Follower故障对客户端的影响及透明重建连接的过程,以及Follower在不同阶段故障时Leader的响应策略。即使单个Follower失效,系统仍能稳定运行。

       上一篇主要讨论了ZooKeeper对客户端节点发生故障时的处理情况。本文将主要对ZooKeeper中的Follower节点发生故障时的处理机制进行详细的讨论。我们知道,当某一个Follower或Observer发生故障时,与之直接相连的ZooKeeper客户端就不可能再从Follower或Observer收到正在处理的请求的响应包,因此,它会丢弃正在处理的请求,并通知客户。而ZooKeeper客户端则会重新选择一个Follower或Observer,并与之建立联系为客户端服务,请注意,这个过程对用户是透明的。

       1.Follower在处理第2步之前发生故障,则处理情况如上所诉,只涉及到ZooKeeper客户端;若Follower在处理第2步之后发生故障,则,Leader最迟会在执行第3步的时候发现Follower发生了故障,尽管Leader发送的提案和提交,Follower收不到,Leader也不会收到Follower的投票,但这并不会影响Leader的处理,只要当前还有超过半数的follower存活着。

       2.从上可以看出,单个Follower节点的实效对整个ZooKeeper服务集群根本就不会产生“任何”的影响,所以单个Follower在任何时刻的失效,系统仍然会比较稳定的继续运行。

      

       在这里,可能有些人会问,如果某一个Follower实效,则Leader就不能得到该Follower管理的session的信息,之后Leader可能会误认为与该Follower相连的若干ZooKeeper客户端实效。没错,是这样的,但这种情况的处理同ZooKeeper客户端发生故障是一样的。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值