5.4 safety
之前几节介绍了raft如何选举leaders以及log entries的复制。然而,这些机制还不足以保证每一个state machine执行的是完全顺序一致的相同指令。例如,当leader commit一些log entries的时候,follower可能突然不可用,然后它可能被选为新的leader就会将这些entries重写;这样下来,不同的state machines可能会执行不同的command 序列。
本节完整的介绍了raft算法通过加入对可能成为leader的server的一些限制。这些限制保证了任意给定term的leader包含之前的terms所commit的所有entries(leader完整性特性)。考虑到election的限制,我们通过指定rules使得commitment更加精确。最后,我们提供了leader完整性的草稿证明,展示了它如何使replicated state machine的行为变得正确。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)