Raft算法

最近在看raft算法,学习之余写篇文章将自己的一些理解记录下来,供大家参考。

一.前言

       分布式系统的诞生,解决了许多企业应用的问题,但也有许多新的问题随之而来,多个服务之间如何保持数据一致性的问题便是其中之一,问题的产生总会有解决办法,经典的Paxos算法就是解决这一问题的,但由于Paxos算法太过复杂,实现起来也有难度,所以实际运用的系统比较少(如Chubby ,实现了Paxos算法,但与原始的Paxos算法有所差异,只能称为类 Paxos(Paxos-like),没有完整的理论支持,便有可能带来无法预知的问题);

 Chubby 作者如此评价Paxos算法:

在Paxos算法描述和实现现实系统之间有着巨大的鸿沟。最终的系统往往建立在一个还未被证明的协议之上。

        为可理解性而设计,这是斯坦福大学提出Raft算法的初衷,与Paxos算法相比,Raft算法的性能与作用和Paxos算法相同,但Raft算法更容易理解和实现。

二.问题模型

        在说Raft算法之前,先说一下拜占庭将军问题,这是所有分布式一致性算法的模型,可以说拜占庭将军问题中囊括了所有分布式系统中可能出现数据一致性问题(个人理解)。

        曾经的拜占庭国土辽阔,为了抵御来自各个方向的敌人,军队之间分隔很远,他们之间只能通过信使互相传递消息。一场新的战役即将爆发,有5支拜占庭军队要共同进退,5个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值