美文网首页
分布式架构中的共识机制——Redis-RAFT

分布式架构中的共识机制——Redis-RAFT

作者: 瑞瑞余之 | 来源:发表于2024-04-27 08:37 被阅读0次

在RAFT算法中,有三个角色

  • follower(跟随者)
  • candidate(候选人)
  • leader(领导者)
    这类共识算法的核心点在于少数服从多数,当集群中不存在leader的时候,可以用上面说到的最简单的办法随机指定。在RAFT算法中,每个redis节点上都有一个计时器,它们的计时时间就是随机生成的(50ms-150ms),集群中的redis nodes各自生成一个计时器。
    初始状态
    开始倒计时,第一个到期的redis从follower变成candidate,开始像其他节点发送竞选消息,先到先得,第一任leader就这样产生了。每个redis节点都维护了一个变量term,但一个redis从follower变成candidate后,它会将自己本地的term+1,同时把+1后的term发给其他节点。
    candidate发送竞选消息
    当follower收到了一个竞选消息,它会拿自己的term和message中的term进行比较,如果自身term小于message的term,则接受candidate为leader。follower会以response的形式告诉candidate,竞选成功的消息。当投票过半数(包括candidate自己的一票),candidate正式竞选成功。一旦第一轮竞选完成,意味着系统达到稳态。
followers返回竞选结果

接下来在集群运行过程中,leader会在cluster-node-timeout(?)时间内发送心跳检测到各个followers,表明自己仍然存活。如果leader因为网络原因或内部原因挂了。此时余下followers会再次发起选举。选举过程和上面描述的一样。


重新发生选举

看到这里可能出现一个问题,如果新一次选举完成,但是原始的leader又恢复了,对于整个集群来说,岂不是出现了两个leader。这就是通常所说的脑裂现象。对于这种情况redis提供了两个配置:

min-slaves-to-write:主节点可以写入的最少从节点数
min-slaves-max-lag:主从进行数据复制时,从库给主库发送ACK消息的最大延迟秒数。

它意味着一旦leader可以写入的followers数目小于min-slaves-to-write或者follower返回给leader复制的ack消息超过了min-slaves-max-lag时,当前leader不能写入。这样即便原始leader还能功能,也无法继续接收客户端的写入请求,对于整个集群来说,还是只有一个leader在对外工作。

相关文章

  • 三种共识机制 | 区块链世界幸存记8

    区块链的工作量证明是属于底层架构中的“共识层”,共识层是区块链系统中用于证明区块数据的有效性的机制。常见的共识机制...

  • 漫谈区块链共识机制

    共识机制是区块链的一个核心特征,是保证区块链系统在分布式架构下的一致性方案。目前主流的也有好多种共识算法:POW、...

  • 手机挖矿

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实...

  • 区块链技术要上天?“汇新杯”新兴科技成果专项赛之——区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实...

  • 区块链的资料整理

    定义 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中...

  • 区块链世界简明生存指南听课笔记

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的 新型应用模式。所谓共识机制是区块链系统中实现...

  • 共识机制知多少?

    什么是共识机制? 从上图可以看到,共识机制是我们区块链系统中的重要组成部分,因为分布式网络(p2p网络)节点(pe...

  • Lambda商用存储即将上线.是巅峰还是腾飞

    在区块链网络架构中,信任一直都是运行的基础,而共识机制则是维护信任的机制。一个优秀的共识机制是区块链项目能得到更好...

  • ElasticSearch 7.x 实战入门04

    主要内容:ES的基础分布式架构,shard&replica机制,横向扩容过程,容错机制 1、ES的基础分布式架构 ...

  • 【译】用Java创建你的第一个区块链-part1

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不...

网友评论

      本文标题:分布式架构中的共识机制——Redis-RAFT

      本文链接:https://www.haomeiwen.com/subject/fpigjrtx.html