欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

hashicorp/raft介绍与源代码分析(三):集群节点恢复介绍

时间:2023-06-25
集群节点恢复

各种情况下,重新选主成功后,落后的 follower 需要赶上 leader 的状态:

follower 已经落地的 log ,需要校对。与 leader 不一致的,直接丢弃 follower 从头,或从最近的本地镜像中恢复,并追赶应用 log 到状态机

我们分析几种异常情况下,集群是如何自动恢复正常的:

1 个 follower 重启了,该 follower 如何最终使自己的状态机赶上 leader leader 重启了,且变为 follower,如何最终使自己的状态机赶上 leader leader 重启了,且重新选为 leader ,如何正确恢复自己的状态机 情景分析1 - follower 重启

follower 重启实际上又有 2 种情况:

无镜像 从镜像恢复

不管哪种情况,均能得到自己的 applyIndex applyTerm

然后,follower 会通过追加日志协议,把 applyIndex applyTerm,发给 leader:

leader 会下发自己的 applyIndex 和 commitIndex ,以及根据 follower 的 applyIndex applyTerm ,下发后续 log(或者是镜像+后续 log)

follower 根据 applyIndex 字段,知道自己落后 leader 多少个 log follower 根据 commi

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。