raft相关问题

commit时机:
在领导⼈将创建的⽇志条⽬复制到⼤多数的服务器上的时候,⽇志条⽬就会被提交。
同时,领导⼈的⽇志中之前的所有⽇志条⽬也都会被提交,包括由其他领导⼈创建的条⽬。⼀旦跟随者知道⼀条⽇志条⽬已经被提交,那么他也会将这个⽇志条⽬应⽤到本地的状态机中(按照⽇志的顺序)。
在这里插入图片描述

1,领导⼈在⼀个任期⾥在指定的⼀个⽇志索引位置最多创建⼀条⽇志条⽬,同时⽇志条⽬在⽇志中的位置也从来不会改变
2,在发送附加⽇志 RPC 的时候,领导⼈会把新的⽇志条⽬紧接着之前的条⽬的索引位置和任期号包含在⾥⾯。如果跟随者在它的⽇志中找不到包含相同索引位置和任期号的条⽬,那么他就会拒绝接收新的⽇志条⽬

如果一个节点在term=100时成为领导人后,它一直不宕机,大部分节点的term是不是就不会变,一直保持为100????
不对,当其它节点断开后,不断发出选举,term一直递增,然后重新加入集群,此时,会拒绝当前领导人的appendEntry,并把自己的term返回,当前领导人收到后会更新自己的term,并退化为follower状态,并重新发起选举

心跳检查:
收到心跳发出的AppendEntries时,即使没有携带任何数据,也要做log的检查。这样是为了及时更新不一致的follower。

选举问题:短的,缺失的日志可能最后一个条目的term比长的,完整的日志最后一个条目的term新???或者说:短的,缺失日志条目的节点会选举成功从而覆盖完整的节点?
不可能,见下图。也是一个归纳过程。图中T1>T2>T3
在这里插入图片描述
或者说比其它节点的最后一个条目旧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值