etcd部分问题个人解答

Raft 中一个 Term(任期)是什么意思?

在raft算法中,任期为上次一选举到下一次选举期间,如果cluster不发生故障,leader一直在任,那么这个leader的任期会无限长;如果follower收不到leader的心跳信号,就会变成candidate(候选人)发起选举;如果出现多个候选人均分选票竞选失败,该任期没有leader;候选人得票多的当选leader接任.

Raft 状态机是怎样切换的?

raft算法状态机有三种状态:follower, leader, candidate; 所有node启动默认为follower, 等待leader发来心跳; 如果follower到time_out都还没收到leader心跳就会切换成candidate发起选举,此时term+1;如果该候选人收到了大部分选票就会切换成leader上任, 定时给follower发送心跳; 如果candidate(候选人)在选举期间收到已经选举成功的leader的心跳,将会切换成follower.

如何保证最短时间内竞选出 Leader,防止竞选冲突?

每个node都会有一个包含随机因子的time_out, follower如果在time_out时长内没有收到leader的心跳,就会切换成candidate; 因此每个node切换成候选人的时机是不一样的;并且规定,如果Candidate1收到其他term比他大的选举信息(且包含了它本身所有提交数据),那么该Candidate1就会投票给这个Candidate2.

如何防止别的 Candidate 在遗漏部分数据的情况下发起投票成为 Leader?

Candidate发起选举(拉票)的同时会携带自己上一个term已提交的数据,其他node会对比这个数据是否比自己新或是一样,如果是才会投票给这个candi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值