【发布时间】:2016-03-12 17:36:34
【问题描述】:
假设一个 3 成员 raft 集群 a[master],b,c
客户端将日志发送到 a,a 将其复制到 b 和 c,a 将日志应用到状态机并响应客户端。 然后 a 在 b 和 c 有机会将提交的状态复制到 b 和 c 之前崩溃。
b 替换 a 作为集群领导者。 当日志已经响应客户端时,未提交的日志会发生什么?
会被 b 再次复制还是直接丢弃?
然后假设一个 4 成员 raft 集群 a[master],b,c,d
客户端将日志发送到 a,a 将其复制到 b 和 c(而不是 d),a 将日志应用到状态机并响应客户端,然后 a 在将提交的状态复制到 b 和 c 之前崩溃,并且d.
d 替换 a 成为集群领导者。那么当日志已经响应客户端时,未提交的日志会发生什么? 它会被丢弃吗?
【问题讨论】: