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步操作。

你可能感兴趣的:(ZooKeeper中的节点故障处理机制(4))