Raft实现报告(14)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Raft实现报告(14)

Raft实现报告(14)

支持动态更新配置

集群配置会使用复制日志中的特殊条目进行存储和通信


网络异常,图片无法展示
|

动态更新配置

上图说明了备至更改的过程。当leader收到配置将从旧版本升级到新版本的时候,它会讲联合共识的配置存储为日志条目,并使用之前描述的机制复制该条目。一旦给定的服务器将新的配置提哦阿木天见到了其日志中,它会将该配置用于未来所有的决策(服务器始终是勇气日志中的最新配置,无论条目是否已经提交)。这意味着leader会根据集群的新旧联合配置的规则来确定该配置何时提交。如果leader崩溃,可能会在新的集群配置下,或者旧的集群配置下重新选举,具体取决于获胜的candidate是否收到了联合集群配置。在任何情况下,新的集群配置都不能再次期间作出单方面的决定。

一旦联合配置被提交。旧的集群和新的集群都不能在没有对方批准的情况下作出决定,并且Leader Completeness特性确保只有拥有联合配置的日志条目的服务器才能被选为leader。leader仙酒可以安全的创建描述新集群配置条目并将其复制到集群中。同样,此配置将在每一台服务器上生效。当新配置生效后,旧的配置就无关紧要了,可以关闭不在新配置中的服务器。如图所示的,新集群和旧集群都没有时间可以单方面作出决定,这是为了确保安全。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
存储 算法
Raft实现报告(12)
Raft实现报告(12)
|
Linux
Raft实现报告(18)
Raft实现报告(18)
|
安全 开发工具 git
Raft实现报告(二)
Raft实现报告(二)
100 0
|
安全
Raft实现报告(11)
Raft实现报告(11)
|
索引
Raft实现报告(八)
Raft实现报告(八)
|
存储 算法
Raft实现报告(七)
Raft实现报告(七)
|
开发工具 git
Raft实现报告(四)
Raft实现报告(四)
|
存储 算法 安全
Raft实现报告(九)
Raft实现报告(九)
|
安全 C++
Raft实现报告(20)
Raft实现报告(20)
下一篇
无影云桌面