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

前面分别讨论了ZooKeeper客户端节点、Follower节点在发生故障的情况的,ZooKeeper是如何处理的。最后,我就想讨论一下Leader节点发生故障的情况下,ZooKeeper的处理机制。

1.若Leader节点在第2步之前发生了故障,则Follower的第2步不会执行成功,但该请求包被添加到了Follower的pendingSyncs集合中,同时Follower再次之前就已经发现Leader已经实失效,退出Follower角色,同时关闭与之相连的客户端,并不在。之后,Follower就会参入Leader的选举中,而在选举的过程中,该节点不会再接受任何客户端的连接。

2.若Leader节点在第2步之后,第3步之前发生了故障,处理同1。

3.若Leader节点在第3步之后,第4步之前发生了故障,处理同1。

4.若Leader节点在第4步之后,第5步之前发生了故障,处理同1。

5.若Leader节点在第5步之后,第6步之前发生了故障,则Folloer的处理同1的同时,也会执行第6步操作。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d4919650dd7e09d27c0887350651107d.html