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

posted @ 2022-11-23 23:26  stupidstan2019  阅读(50)  评论(0编辑  收藏  举报