过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。

  来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。

  在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。这样就需要一种Consensus协议,一致性协议是为了确保容错性,也就是即使系统中有一两个服务器当机,也不会影响其处理过程。

  为了以容错方式达成一致,我们不可能要求所有服务器100%都达成一致状态,只要超过半数的大多数服务器达成一致就可以了,假设有N台服务器,N/2 +1 就超过半数,代表大多数了。

  Paxos和Raft都是为了实现Consensus一致性这个目标,这个过程如同选举一样,参选者需要说服大多数选民(服务器)投票给他,一旦选定后就跟随其操作。Paxos和Raft的区别在于选举的具体过程不同。

  在Raft中,任何时候一个服务器可以扮演下面角色之一:

  1. Leader: 处理所有客户端交互,日志复制等,一般一次只有一个Leader.
  2. Follower: 类似选民,完全被动
  3. Candidate候选人: 类似Proposer律师,可以被选为一个新的领导人。

raft原理的动画演示:

http://thesecretlivesofdata.com/raft/

raft原理的动画演示相关推荐

  1. raft算法动画演示

    简言 1. 分布式一致性算法,知名的有Paxos,Multi Paxos,Raft 3种算法,其中Raft算法最容易理解 2. 关于Raft算法的原理,可以参考这篇博客:https://blog.cs ...

  2. 快速理解raft协议(附件动画演示)

    正文   raft是工程上使用较为广泛的强一致性.去中心化.高可用的分布式协议.在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos.但Paxos是:少数真正理解的人觉得简单,尚 ...

  3. css3宽度变大动画_动画演示流量计的工作原理

    ​ 流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小 ...

  4. css3宽度变大动画_【动画演示】流量计的工作原理,真涨见识!

    [培训]多热源联网供热技术与管网水力平衡调配技术培训班(2020年7月9-11日 泰安市) 本文转自:除灰脱硫脱硝技术联盟 流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究 ...

  5. css3宽度变大动画_动画演示14种流量计的工作原理,真涨见识!

    点上面蓝色字体直观学机械可长期订阅我们 法律顾问:赵建英律师 流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液 ...

  6. 计算机网络的工作原理演示动画,动画演示14种流量计的工作原理

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  7. css3宽度变大动画_动画演示14种流量计的工作原理,长知识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  8. css3宽度变大动画_动画演示14种流量计的工作原理,真涨见识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  9. css3宽度变大动画_动画演示流量计的工作原理,真涨见识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

最新文章

  1. excel 按数据拆分 xlam_Excel按类别名称自定义排序:玩转Excel数据
  2. 在Ubuntu 18.04系统上安装和配置DBeaver的步骤
  3. 神的战争god无法显示服务器,神的战争god快速升级抢资源攻略
  4. ERP管理软件中的“七脉神剑”
  5. ashx获取input file 文件_通过Ajax方式上传文件(input file),使用FormData进行Ajax请求...
  6. 使用TeraTerm自带SSH SCP功能,传送文件
  7. IOS之Autorotation and Autosizing
  8. Redis常见配置文件详解
  9. win10或11非华为电脑安装最新的电脑管家(支持移动应用引擎)安装方法及问题解决
  10. HustOJ 基础搭建教程
  11. Linux udhcpc/udhcpd 移植
  12. 如何根据地址确定中央经线和带号
  13. vnc远程连接,5个步骤教你如何轻松实现vnc远程连接
  14. 分布式高可靠:流量控制
  15. Python科研绘图——介绍
  16. 深度学习平台的搭建(anaconda-pytorch-pycharm)
  17. PS2021安装教程视频方法(附个人详细安装教程)windows版本
  18. android 浏览器 查看证书,android浏览器弹出该网站的安全证书有问题如何解决
  19. 如何理解beta分布?
  20. 理解逻辑斯蒂回归模型

热门文章

  1. 我用的 cordova 插件
  2. mysql保存中文乱码的原因和解决办法
  3. 【TensorFlow】PyCharm中无法识别tensorflow、numpy等Python库问题的解决办法
  4. 一维行滤波提取俯视图下的车道线特征
  5. HLS实现点播和直播时,M3U8文件的不同
  6. 从Go、Swift出发:语言的选择需谨慎
  7. C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
  8. linux系统下常用或有用的系统级命令
  9. ATL服务器:用 Visual C++创建的高性能的Web应用程序和XML Web 服务
  10. python dlib学习(四):单目标跟踪