码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Raft 协议


    对于强⼀致性共识算法,目前最多使用的就是 Raft 协议。

    Raft协议成熟的实现案例

    • 蚂蚁金服的JRaft;
    • Zookeeper 的 ZAB;
    • Consul 的 Raft;
    • 百度的 braft;
    • Apache 的 Ratis;

    Raft角色

    • 跟随者(Follower):普通群众,默默接收和来自领导者的消息,当领导者心跳信息超时的时候,就主动站出来,推荐自己当候选人。
    • 候选人(Candidate):候选人将向其他节点请求投票 RPC 消息,通知其他节点来投票,如果赢得了大多数投票选票,就晋升当领导者。
    • 领导者(Leader):处理写请求、管理日志复制和不断地发送心跳信息(维持领导地位)。

    随机超时时间特性

    Raft 算法中具有随机超时时间特点,每个节点等待领导者节点心跳信息的超时时间间隔是随机的。为了防止多个节点同时发起投票,每个节点分配的选举超时时间也是随机的。

    选举过程

    1. 初始状态,所有节点都是跟随者。
    2. 当集群中没有领导者时,等待超时时间最小的节点会因为没有等到领导者心跳信息,发生超时。
    3. 超时自荐,此时该节点就会增加自己的任期编号,并推举自己为候选人,先给自己投一票,然后向其他节点发送请求投票RPC消息,请它们选举自己为领导者。
    4. 选举投票,其他节点接受到候选人的RPC消息时,并且在编号为1的任期内,没有投过票,那么就把选票投给该候选人,然后增加自己的任期编号。
    5. 新领导产生,候选人在选举超时时间内赢得了大多数的选票,那么它就会成为本届任期内新的领导者。
    6. 正常状态,领导者将周期性地发送心跳消息到其他服务。

  • 相关阅读:
    视频号小店和抖音小店,怎么选更适合普通人做?我更推荐这个
    机器学习笔记 - 【机器学习案例】基于KerasCV的预训练模型自定义多头+多标签预测
    分享几个优秀开源免费管理后台模版,建议收藏!
    机器学习——多层感知机
    PMP认证需具备哪些条件啊?费用多少啊?
    【luogu CF487E】Tourists(圆方树)(树链剖分)(线段树)
    matlab编译.net dll及C#调用
    【PyTorch深度学习项目实战100例】—— 基于RNN实现垃圾邮件辨别 | 第57例
    Python:函数定义的形参
    【MATLAB】史上最全的11种数字信号滤波去噪算法全家桶
  • 原文地址:https://blog.csdn.net/Anenan/article/details/125542369
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号