Paxos太难懂?五张图读懂Paxos协议
鉴于大多数对Paxos协议的阐述都过于羞涩难懂,便画了下面五张图来阐述一下Paxos的主要流程,在学习下面的图例文章时,必须要对Paxos的基础概念有一些认知;包括但不限于以下概念。
1 、先入为主
一个参与者必须批准它收到的第一个提案
2、多数派
一个提案者一定要获得多数参与者的通过才会结束提案
3、参与者可重复接受提案
一个参与者只要尚未相应过任何编号大于Mn的提案者请求,那么它就可以接受这个编号为Mn的提案
还有一个最关键的点,会被很多初学者忽略,那就是一个提案并不是类似一组自增的数字,而是类似map的key,value组合,即提案 = 【版本号Mn: 提案内容value n】
下面我们就根据下面的五张图来阐述一个完整的Paxos提案过程(理想状态下)
- 图一:初次prepare— 提案者向参与者下发提案,并获取提案反馈
我们假设现在有两个提案者(Proposer)和三个参与者(Acceptor),提案者1初始提案【1,10】(这里10的值,大家可以理解为货币,比如10元人民币,参与者需要拿着value里的钱来收买参与者),提案者2因为在提案者1后提案,生成了提案为【2,20】的提案,prepare预提交阶段,假如由于网络原因,提案者1的提案先抵达到了参与者1和2,而提案者2先抵达到了参与者3并在提案1到达参与者2后到达参与者2,参照图1,此时二者都已经得到了超过一半的反馈,反馈的内容为参与者所持有的最大提案版本的value值,初始的话为随机value这里等同先入为主的value;
特别注意的点在于两个多数派的交集,这里为参与者2,它先收到了提案者1的提案,以后将拒绝提案小于1的提案(reject<1)并反馈value1,之后收到提案者2的提案的时候将拒绝小于2的提案(reject<2)并反馈value2;
- 图二、三: 初次提交—提案者请求参与者通过提案
对于提案者1 :提案者1在得到反馈后,得到了多数派的支持,于是就下发提案给参与者1和2请求通过提案1,参与者1没有问题,爽快的通过了提案并将自己的提案值记作value1即10,但是在申请向参与者2通过提案时,由于参与者2受到了提案者2之前的叛变,reject<2的提案,于是就拒绝了提案者1的提案,提案者一由于没有得到多数派的支持,则会丢弃提案1,生成新的提案3【3,20】(见下图);
对于提案者2: 参与者3没有问题就通过了提案2,参与者2也没有问题(请注意按照图中的时间轴先后发生),也接受了2的提案,注意此刻提案者1的提案发生了变更,但并未与参与者2进行通讯,那么此时参与者2和参与者3已经作为多数派达成了共识即同意了提案者2的提案并将自己的value值都更新为20,那么此时提案者2的任务就完成了,因为它已经得到了多数派的认同,不再参与以后的提案工作
- 图四:prepare2 — 提案者1再次请求下发提案
此时已经产生了一个多数派提案2,按理说,整个提案过程应该结束,但是大家注意到,此时参与者1的提案还是提案1的旧值10,下面的工作就是告知参与者1提案已经达成了共识,需要修改成提案2的值;
提案者1拿着提案3【3,20】对参与者1和2进行prepare请求,参与者1将接受并修改reject<3,并返回旧值10,参与者2也是如此,但返回旧值为20,(20 > 10),提案者1成功得到了多数派的支持;
- 图五:二次提交—提案者1再次向参与者1和2下发提案请求
参与者1拿到【3,20】的请求,由于版本号1 <3 ,所以通过了该提案,将value值改为了20,参与者2本身就是20,提案者1得到了多数派的支持,至此所有参与者的value值达成了共识
Paxos太难懂?五张图读懂Paxos协议相关推荐
- 一张图读懂一个产业短视频第5期
随着互联互通社区关注者不断增多,其中涌现了很多即将进入IT互联网和对IT互联网感兴趣的朋友们. 介于以往内容更多还是针对IT互联网从业者,应互联互通社区关注者要求,自2021年4月12日起推出一张图读 ...
- 一张图读懂“云栖大会·南京峰会”重磅发布产品
数字化转型需要做什么?云计算当然是必不可少的黑科技.一张图读懂"云栖大会·南京峰会"重磅发布的云计算产品.
- 一张图读懂一个产业短视频第4期
随着互联互通社区关注者不断增多,其中涌现了很多即将进入IT互联网和对IT互联网感兴趣的朋友们. 介于以往内容更多还是针对IT互联网从业者,应互联互通社区关注者要求,自2021年4月12日起推出一张图读 ...
- 一张图读懂一个产业短视频第6期
随着互联互通社区关注者不断增多,其中涌现了很多即将进入IT互联网和对IT互联网感兴趣的朋友们. 介于以往内容更多还是针对IT互联网从业者,应互联互通社区关注者要求,自2021年4月12日起推出一张图读 ...
- 一张图读懂PBN飞越转弯衔接DF航段计算
飞越转弯衔接TF航段时,转弯外边界与旁切转弯相似,只是在拐角位置直接以风螺旋绘制外边界,大部分切点可以精确计算得到. 飞越转弯衔接DF航段时,转弯外边界全部由风螺旋和它的切线构成,又会有哪些神奇的事情 ...
- 一张图读懂PBN飞越转弯衔接TF/CF航段计算
在PBN旁切转弯的基础上,再来看飞越转弯接TF(或CF)航段,保护区结构上有些相似,只是转弯拐角处的保护区边界有"简化",其余部分是相近的. FlyOver接TF段的标称航迹有一个 ...
- 【笔记】三张图读懂机器学习:基本概念、五大流派与九种常见算法
文章目录 [笔记]三张图读懂机器学习:基本概念.五大流派与九种常见算法 Chapter 1: A look at Machine learning 1.What is it? 2.How does m ...
- 一张图读懂神州数码集团2020全年业绩
一张图读懂神州数码集团2020全年业绩 https://mp.weixin.qq.com/s/NXTzEgHhImA260OsZGBxug .
- 25 张图读懂「文件系统」
作者 | 小林coding 来源 | 小林coding(CodingLin) 文件系统的基本组成 文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计 ...
最新文章
- 仿WINDWS无限级Ajax菜单树升级1.2版(菜单名支持非法字符)
- 腾讯面试--原来bitmap也可以用来排序
- html无限添加元素,jquery--html【添加元素】
- 如何使用docker配置深度学习开发环境
- 灼灼夏日 - 遥思故乡 - 赤子无相忘
- 求一个任意实数c的算术平方根g_初中数学实数相关知识点:这些小技巧,解题有大用...
- 2018.09.19 atcoder AtCoDeer and Election Report(贪心)
- 9-3 数据分布概论
- ajax应用培训ppt,《ajax培训课件.ppt
- 计算机组成之总线结构
- php转换ofd文件格式,OFD文件转换服务
- 解决dos打开界面变小和打开软件字体乱码的问题
- ADI超声解决方案 和系统成像设计
- C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
- js判断图片加载完成后再执行代码
- PHP图片打包压缩下载
- Robocup3D第一次笔记
- ViveInputUtility-手柄触摸3D物体(6)
- javascript 框架_Javascript框架的成本
- WordPress如何调用其他网站的最新文章