etcd的joint consensus实现
【代码笔记】
1)toConfChangeSingle
变更前
voters=(1 2 4 6)
变更后
voters is (1 2 3),learners_next=(4)
代码逻辑
outgoing = add 1; add 2; add 4; add 6
incoming = remove 1; remove 2; remove 4; remove 6
add 1; add 2; add 3;
add-learner 4;
第一个quorum=(1 2 4 6)
第二个quorum=(1 2 3)&&(1 2 4 6)
#incomming里
【参考博客】
https://blog.csdn.net/H_L_S/article/details/110258562
quorum实现
计算leader选举结果
jointConfig,从一个majorityConfig变成计算两个
【测试用例】
读文件测试
【相关资料】
1)etcd的mr
https://github.com/etcd-io/etcd/pull/10889
2)为什么收到消息就持久化
https://www.codedump.info/post/20220417-weekly-13/
https://www.inlighting.org/archives/raft-membership-change
3)郁白博客
https://zhuanlan.zhihu.com/p/20742144