文章 《Raft 共识算法学习笔记 一:领导人选举》 和 《Raft 共识算法学习笔记 二:日志复制》 分别讲述了 Raft 算法如何进行领导人选举和如何进行日志复制。
这篇文章继续讲述 Raft 算法如何处理集群成员节点变更的问题。
考虑一种场景,原来 Raft 集群中存在三个节点,现在需要增加2 个节点。那么,在这种情况下, Raft 算法如何能保证同一个任期内,只有一个领导者呢?
在 Raft 论文中,作者使用配置(configuration)来表示集群由哪些节点组合,即集群所有节点的信息集合。在稳定状态下,所有节点的配置都是一致的。
由于集群存在多个节点,因此,一次性原子地更新所有节点的配置是不可能的,集群在更新配置的过程中,可能会出现新旧配置的两个大多数:

例如,上图中,集群的节点数量 由 3 个增加至 5 个。由于各个节点可能在不同的时间进行新旧配置的转换,因此

本文探讨了Raft算法在处理集群成员变更时如何确保同一任期仅有一个领导者。通过单节点变更方法,即使集群规模发生变化,也能保持配置一致性和选举合法性。
最低0.47元/天 解锁文章
893

被折叠的 条评论
为什么被折叠?



