Raft 协议原理详解,6 分钟带你掌握!

496a9c5b5de55127d75bf02aaf50cf00.png

若有收获,请记得分享和转发哦

大名鼎鼎的 Paxos 算法可能不少人都听说过,几乎垄断了一致性算法领域,在 Raft 协议诞生之前,Paxos 几乎成了一致性协议的代名词。

但是对于大多数人来说,Paxos 算法太难以理解了,而且难以实现。因此斯坦福大学的两位教授 Diego Ongaro 和 John Ousterhout 决定设计一种更容易理解的一致性算法,最终提出了 Raft 算法!

Raft 是一种更为简单方便易于理解的分布式算法,主要解决了分布式中的一致性问题。

相比传统的 Paxos 算法,Raft 将大量的计算问题分解成为了一些简单的相对独立的子问题,并有着和 Multi-Paxos 同样的性能,下面我们通过动图,以后还原 Raft 内部原理。

Raft 基础

名词解释

Raft协议一共包含如下3类角色:

  • Leader(领袖):领袖由群众投票选举得出,每次选举,只能选出一名领袖;

  • Candidate(候选人):当没有领袖时,某些群众可以成为候选人,然后去竞争领袖的位置;

  • Follower(群众):这个很好理解,就不解释了。

然后在进行选举过程中,还有几个重要的概念:

  • Leader Election(领导人选举):简称选举,就是从候选人中选出领袖;

  • Term(任期):它其实是个单独递增的连续数字,每一次任期就会重新发起一次领导人选举;

  • Election Timeout(选举超时):就是一个超时时间,当群众超时未收到领袖的心跳时,会重新进行选举。

90516c87432febc4552583692d961640.png

695d4b0fae60141b380fb81e22170bb9.png

成为候选人:每个节点都有自己的“超时时间”,因为是随机的,区间值为150~300ms,所以出现相同随机时间的概率比较小,因为节点B最先超时,这时它就成为候选人。

6e4cc1685e65323c91672f488efb7cb1.png

9eece3f352ad9eaeaea11e020022a8a9.png

e495792903fb6212407e95e3ed251af1.png

411996232b1841bab3b669107db394b6.png

32e08e0e5af90865f2df90a47c54a697.png

286d9c7922a3034644adb1cd3f26a838.png

2eb886c04d89cc2f468cb3939991d137.png

c177e8ec747a6a26cacf0818b5199fa4.png

5b198920df80bd452dc5d80549b1c998.png

31c11d67fe1b8e20ae70c5864e43c3dd.png

324d882db9c4bdc83e5512164b30d4ad.png

fd14b0aa2618e011173200f54b5e31f0.png

ed84f97cf9d29763e900c7062cd4466a.png

bc8e2755759e4b556cbd78335054562d.png

ca99f3ba9114fd6aa9e7d40912efbdd1.png

b4f9e679b22ce17be863de76ac23d6e6.png

8db5a02cd51e2d71d32ff56f7a962d8d.png

1cf89ecb9c2ac6e7d29db1ad512ab09c.png

4b0ba7b4fb3cb18b2921c939677979bf.png

9192993d9024b5d50005cb86e3615e48.png

c7420c8e6e33163e6370bd90b8d4d4c5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值