一篇文章搞清楚Raft共识算法

Raft是一种易理解的分布式协议,与Paxos相比,它在性能、可靠性和可用性方面同样出色。该算法基于领导者模型,节点状态包括领导者、跟随者和候选人。当领导者故障或超时时,通过选举过程选择新的领导者,确保一致性。日志复制是Raft的关键,确保在多数节点间同步并执行操作,以维持系统一致性。
摘要由CSDN通过智能技术生成

什么是Raft?

raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。大家应该都听过大名鼎鼎的Paxos,因为其理解的难度,raft算法的发明者转而研究出了raft算法。Raft增强了可理解性,在性能、可靠性、可用性方面是不输于Paxos的。

raft是一种leader-based的共识算法(consensus algorithm),在部分节点故障、网络延时、网络分割的情况下,多个节点对某个事情达成一致。在分布式系统中,共识算法更多用于提高系统的容错性。

Raft节点

 raft协议中,一个节点任一时刻处于以下三个状态之一:leader、follower、candidate

所有节点启动时都是follower状态,在一段时间内如果没有收到来自leader的心跳,follower状态的节点会切换到candidate,发起选举。如果选举成功,则切换到leader状态,如果发现其他节点选举成功,则主动切换到follower。leader会不停的给follower发心跳消息,表明自己的存活状态。如果leader出现故障,一段时间后没有收到leader心跳的follower会转换成candidate,重新选出leader。

选举过程

term:可以理解为任期,leader的履职期。充当了逻辑时钟的作用,接收到leader的心跳,可以根据当前节点的term判断是否是最新的leader。

如果follower在election timeout内没有收到来自leader的心跳ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值