在两次领导人选举之间写下可用性问题



对于实现Raft的系统,如果leader节点宕机,并且在leader宕机和选择新leader之间,日志写入请求到达,那么它是成功的还是在此期间系统不可用?

在新领导能够提交当前任期内的条目之前,系统不可用。如果一个请求到达老领导那里,老领导可能会尝试复制它,但最终会因为期限更长而失败,在这种情况下,该领导应该拒绝客户的请求并下台。如果请求到达的节点不是领导者,它可以拒绝并强制客户端重试,也可以将请求排队转发给下一个领导者。

客户应该在没有领导的情况下,在合理的时间内重试请求,从而真正处理这些情况。因此,对于客户端的用户来说,领导者的更换可能看起来像是高延迟。

最新更新