码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 初探Raft算法


    拜占庭将军问题 wiki

    分布式对等网络中的通信容错问题。
    在分布式计算中,不同的计算机通过通讯交换信息达成共识按照一套协作策略行动。有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性,这就是拜占庭将军问题。
    拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

    Raft

    Raft动画演示
    raft.github.io

    ** 以下的整理来自以上的动画整理

    Raft是实现分布式共识的协议.
    我们所有的节点都以跟随者状态开始.
    Leader选举
    有2个超时设置可控制选举。

    ** election timeout:follower -> candidates所等待的时间。election timeout被随机分配在150毫秒至300毫秒之间。选举超时后,跟随者成为候选者并开始新的election term选举任期…。

    ** heartbeat timeout
    这些消息以heartbeat timeout心跳超时指定的时间间隔发送。
    跟随者然后响应每个Append Entries 追加条目消息。
    此选举任期将持续到追随者停止接收心跳并成为候选人为止。

    ** 分裂
    两个节点都开始以相同的任期进行选举…
    等待新的选举周期,再试一次。

    日志复制
    当选出一位领导人后,我们需要将系统的所有更改复制到所有节点。
    通过使用与心跳相同的 Append Entries添加条目消息来完成此操作。
    …然后将更改操作在下一个心跳发送给追随者。
    一旦大多数追随者认可,便提交该条目。

    面对网络分区,Raft也可以保持一致。
    由于我们的分区,我们现在有了两位领导者。
    节点B无法复制为多数,因此其日志条目保持未提交状态。

    修复网络分区
    节点B将看到较高的选举期限并退出
    节点A和B都将回滚其未提交的条目并匹配新领导者的日志。
    现在,我们的日志在整个集群中是一致的。

    News

    kafka3.0,也正式弃用了zookeeper,转向raft。
    参考:Release Notes

    以下文章写的不错,可以看看
    拜占庭将军问题和 Raft 共识算法讲解

  • 相关阅读:
    软件明明通过了各种级别的测试,交付给用户仍会出现问题?
    深入探析:云计算与边缘计算在软件开发中的应用与挑战
    java大学校园失物招领管理系统
    MySQL应用——常见故障分析和检查
    Go 语言运算符
    论文精读(1)《轮式移动采摘机器人控制与故障检测研究》
    SpringBoot 启动流程分析(寻找扩展点)
    L17.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- more和less命令
    芯片学习记录MP2144
    (三)组合特征与特征变换 学习简要笔记 #机器学习特征工程 #CDA学习打卡
  • 原文地址:https://blog.csdn.net/yuan882696yan/article/details/127110955
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号