Raft协议介绍

Raft协议是一种分布式一致性算法,旨在解决分布式系统中数据的一致性问题。相较于复杂的Paxos协议,Raft更易于理解。在Raft中,只有一个领导者负责日志广播,确保集群中大多数节点确认日志后才提交数据。领导者选举是Raft的核心,通过多数派协议和超时机制防止多个领导者并存。当节点成为候选者时,其日志长度需至少等于集群中一半节点的已提交日志,以确保数据不丢失。此外,通过term值判断领导者有效性,防止旧领导者继续发送数据。
摘要由CSDN通过智能技术生成

   Raft是一个分布式协议,现在随着用户的增多一台机器来运算后台数据已经不足及支撑当前软件后端的运算量,所以就有了分布式的概念,可是分布式中有一个最大的问题就是他的高可用性,或者说高一致性,比如说我现在有一张银行卡卡里有余额一千元,然后现在在一台atm机上取钱,这时候我们访问了银行后台的一台服务器,atm吐出了五百元给我,这时候服务器后台的数据我的卡内余额应该是五百元,但是由于银行有很多台服务器,其中一台受理了我的请求和数据,这时候他怎么将我的操作通知到其他服务器,如果没有安全合理快速的方式的话,取完我再次去取钱卡这时候访问的是另一台服务器,我的余额可能显示的还是一千元....这就存在很大的隐患,那到底怎么才能让某台机器上的一个操作同步到所有的机器上,这就有是我们要介绍的分布式协议。最初的时候分布式协议里有个Paxos协议,这个协议实现了分布式机器之间的一致性但是这个协议是出了名的难懂,Raft的作者也曾公开说过,自己也是被Paxos虐了很多遍,所以才设计了一个和Paxos相似,但是通俗易懂的Raft协议。在功能上Raft完全可以替代Paxos协议。

  两者最大的区别就在于Paxos有一个基本通信协议,这个协议有很强的数据一致性,所以即使在Paxos集群中有多个leader的情况下,Paxos依然可以正常工作,这也正是Paxos的复杂之处,但是Raft则采用了完全相反的概念,Raft在设计的时候认为之可能存在一个集群leader,Raft针对一个leader的leader选举协议进行了详细的设计,这样在广播协议上就不用花费太大的功夫。接下来我们就介绍一个Raft的leader的选举协议。leader就是集群中的老大, 听他的!和他保持一致!

  先说Raft的日志广播过

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值