木筏:状态未确定

raft: state is not determined

  1. 假设一个集群有 7 个节点 N1, N2, ...N7,状态为 x=2
  2. 假设N1是领导节点
  3. 然后客户端将x=5发送到领导节点N1,然后N1x=5复制到节点N6和N7(未提交),但是N2~N5没有收到这个RPC
  4. 此刻,N1崩溃,于是,触发了新的选举,我的问题如下:

    • 如果 N6 赢得这次选举,集群中的状态将是 x=5(未提交将变为已提交)
    • 如果N2赢得这次选举,集群中的状态将是x=2(N6/N7中未提交的将被丢弃)

我是不是误会了什么?谢谢!

是的,你是对的,根据谁成为领导者,飞行中未提交的条目可能会被提交,也可能会被丢弃。