【分布式】图解Raft协议

一、分布式共识(Distributed Consensus)

当系统中只有1个节点(下图蓝色,你可以理解为一个存储数据的数据库)。如果客户端(绿色)发送1个x=8的数据给数据库,数据库会立即将X更改为8。由于只有1个数据库节点,对于X的值,很快就会达成一致:x=8。

But,如果有多个数据库节点呢?如图,假设3个数据库节点中x的值都为7。客户端发送更改x=8 的请求,3个数据库节点有2个节点更新成功,x=8;另一个节点更新失败,存储的x仍然是7。这样就会出现对于同一个变量x的值,3个节点存储的数值不一样。这就是分布式共识的问题。
在这里插入图片描述

二、分布式共识解决方案 - Raft协议

Raaft是用来解决分布式共识的一种协议。Raft协议中定义了3种角色:

  • Follower
  • Candidate
  • Leader
    在这里插入图片描述

首先我们简单介绍下Raft协议中最重要的两个部分:Leader选举和日志复制两个过程。

1、Leader选举过程(Leader Election)

每个节点初始状态都是跟随者Follower。当一个Follower节点不再听从Leader节点,那么该节点就会变为候

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值