3

最近看了一篇关于 Raft 共识算法的论文。新领导者不知道当前提交索引是多少。

无操作如何 解决这个问题?

4

1 回答 1

4

In Raft a new elected leader (implies that he received a majority of votes in the cluster. That means his log was at least up-to-date as the log of the nodes that granted him his votes) is not allowed to directly commit ( I) 前几届的参赛作品 - 前任领导人。

然而,他可以隐含地做到这一点。如果他将新命令附加到日志并在其他节点上复制该命令,他可以认为,只要大多数人以 ok 响应,该命令就已提交。这意味着所有先前的命令也都已提交,并且如果尚未这样做,则可以将其传递给状态机。

现在,如果您在日志中添加一个no-op条目,您就可以隐式提交先前的命令,从而找出当前的commitIndex


(I):标记一个命令可以安全地传递给状态机。只要命令在集群中的大多数节点上复制,就会发生这种情况。

于 2018-03-29T13:20:19.743 回答