码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • raft算法的自我理解


    1、raft算法是什么? 答:共识算法

    2、raft算法有什么用? 答:维持不同机器的强一致性

    3、raft算法通过什么方式来维持不同机器的强一致性? 答:传递log日志 ,按照官方的说法日志里面包含命令,每台机器执行相同的命令,结果应该是一样的

    4、raft算法如何传递日志? 答:Raft算法通过Leader节点来传递日志。当一个客户端发送一条请求给Leader节点时,Leader节点会将该请求作为一条日志条目添加到自己的日志中,并将该日志条目复制到其他节点的日志中。接收到日志条目的节点会对其进行持久化,并向Leader节点发送确认消息(心跳)。一旦Leader节点收到大多数(超过半数)节点的确认消息,该日志条目就被认为是已提交的,然后Leader节点会将该日志条目应用到状态机,并将执行结果返回给客户端。

    5、raft算法是如何选举leader的?  答:vote 出来的,每个机器都可以接受投票,也可以投对面,但是每台机器只有一张票,奇数的机器的大多数获得票的人会成为leader ,其他机器称为follower,在投票的时候,被投的机器叫做候选人   比如说7台机器   只要有一台候选人拿到了4票,则那个候选人则为leader  如果是偶数的机器,候选人的票数一样,则会等时间,时间一过继续举行投票,直到选出leader为止 。

    6、假如有五台机器,选leader的时候,如果两台和另外三台因为网络等原因断开了,该是什么样的情况?

    答:这种情况下,会从两台和三台中各选一名leader  ,因为这两坨断开了,所以并不知道对面都存在了一名leader,两台中会按照leader来传送日志,三台中会按照另一个leader来传送日志,同样它们的follower也会发送心跳来告诉leader,这种情况下会有两个client客户端,一个leader对应一个client客户端,这个时候他们都不会真正的提交,等网络重连之后,会按照优先级也就是票数,两台的leader会主动放弃,这个时候,两台机器都会回滚到网络刚断开的时候,然后由真正的leader领导,继续发送日志给其他机器

    本文仅个人理解,如若讲错,各位尽可评论

  • 相关阅读:
    Mac 远程 Ubuntu
    99%的亚马逊运营都不知道爆单小技巧——社媒促销代码
    产品发布+联合演讲+认证+奖项丨云和恩墨在openGauss Developer Day 2023主论坛大放异彩...
    uni-app 折叠自定义
    音乐播放器VHDL蜂鸣器数码管显示简谱,视频/代码
    对于产业互联网的认识,直接关系着我们究竟会以怎样的心态来看待它
    Linux和Windows中的JDK和Tomcat环境变量配置
    wireshark初步认识
    SpringSecurity源码学习一:过滤器执行原理
    DBCO-mannose 二苯并环辛炔-甘露糖,DBCO-PEG-mannose 二苯并环辛炔-聚乙二醇-甘露糖
  • 原文地址:https://blog.csdn.net/m0_63251896/article/details/133688473
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号