千家信息网

paxos应用过程是怎样的

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"paxos应用过程是怎样的",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"paxos应用过程是怎样的"吧!实例下面我们通过例子来理解
千家信息网最后更新 2025年02月01日paxos应用过程是怎样的

这篇文章主要讲解了"paxos应用过程是怎样的",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"paxos应用过程是怎样的"吧!

实例

下面我们通过例子来理解 Paxos 的实际应用过程。

假设现在有五个节点的分布式系统,此时 A 节点打算提议 X 值,E 节点打算提议 Y 值,其他节点没有提议。

假设现在 A 节点广播它的提议(也会发送给自己),由于网络延迟的原因,只有 A,B,C 节点收到了。注意即使 A,E 节点的提议同时到达某个节点,它也必然有个先后处理的顺序,这里的"同时"不是真正意义上的"同时"。

A,B,C接收提议之后,由于这是第一个它们接收到的提议,acceptedProposal 和 acceptedValue 都为空。

由于 A 节点已经收到超半数的节点响应,且返回的 acceptedValue 都为空,也就是说它可以用 X 作为提议的值来发生 Accept 请求,A,B,C接收到请求之后,将 acceptedValue 更新为 X。

A,B,C 会发生 minProposal 给 A,A 检查发现没有大于 1 的 minProposal 出现,此时 X 已经被选中。等等,我们是不是忘了D,E节点?它们的 acceptedValue 并不是 X,系统还处于不一致状态。至此,Paxos 过程还没有结束,我们继续看。

此时 E 节点选择 Proposal ID 为 2 发送 Prepare 请求,结果就和上面不一样了,因为 C 节点已经接受了 A 节点的提议,它不会三心二意,所以就告诉 E 节点它的选择,E 节点也很绅士,既然 C 选择了 A 的提议,那我也选它吧。于是,E 发起 Accept 请求,使用 X 作为提议值,至此,整个分布式系统达成了一致,大家都选择了 X。

上面是 Paxos 的一个简单应用过程,其他复杂的场景也可以根据流程图慢慢推导,这里只是抛砖引玉。

事件发展:

第一个框代表第一阶段--提议

1.p2最先找到A2,P2提议序号是2,A2记录下,因为之前没有其他的序号所以成功了,然后返回标志给p2;

2.p1找到A1,P1提议序号是1,A1记录下,因为之前没有其他的序号所以成功了,然后返回标志给p1;

3.p1找到A3,P1提议序号是1,A3记录下,因为之前没有其他的序号所以成功了,然后返回标志给p1;

问题来了

4.p1找到A2,P1提议序号是1,A2已经记录下提议序号2,2>1,所以不成功;

5.p2找到A1,P2提议序号是2,A1已经记录下提议序号1,1>2,所以成功;,然后返回标志给p2;

6.p2找到A3,P2提议序号是2,A3已经记录下提议序号1,1>2,所以成功;,然后返回标志给p2;

第二个框代表第二阶段--确认提议(投票)

7.p1找到A1,P1确认序号是1,A1已经记录下提议序号2,1<2,所以不确认,然后p1继续提议序号是3,周而复始...;

8.p2找到A2,P2确认序号是2,A2已经记录下提议序号2,2=2,所以确认成功;,然后返回投票标志给p2;

9.p2找到A3,P2确认序号是2,A3已经记录下提议序号2,2=2,所以确认成功;,然后返回投票标志给p2;

10.p2找到A1,P2确认序号是2,A1已经记录下提议序号3,2<3,所以不确认,;然后p2继续提议序号是4,周而复始...;
问题来了

11.p1找到A2,P1确认序号是1,A1已经记录下确认序号2,1<2,所以不确认,然后返回确认序号2;

12.p1找到A3,P1确认序号是1,A3已经记录下确认序号2,1<2,所以不确认,然后返回确认序号2;

13.p1和p2都得到确认也就是投票结果是2。

14.所有的Learner最终学习的目标是2。

Paxos过程结束了,这样,一致性得到了保证,算法运行到最后所有的proposer都投"2"所有的acceptor都接受这个议题,也就是说在最初的第二阶段,议题是先入为主的,谁先占了先机,后面的proposer在第一阶段就会学习到这个议题而修改自己本身的议题,才能让一致性得到保证,这就是paxos算法的一个过程。该算法就是为了追求结果的一致性。

感谢各位的阅读,以上就是"paxos应用过程是怎样的"的内容了,经过本文的学习后,相信大家对paxos应用过程是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

序号 节点 过程 成功 标志 应用 一致 学习 议题 阶段 投票 选择 一致性 也就是 同时 就是 算法 系统 结果 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深空之眼几个服务器 抖音搜索排名软件开发 柬埔寨网络安全法 奉贤区节能软件开发服务商有哪些 软件开发过程中的复用 系统工作软件开发 新疆国谷网络技术股份有限公司 三重生态观昭示我们网络安全 删除数据库表空间中所有数据 郑州时代科技互联网二班 审计局网络安全工作领导小组 蜀山区服务管理软件开发公司 岳阳网络安全技术培训要怎么学 南京网络安全维护招标 数据库技术考啥 传奇百区ip地址和服务器 服务器管理口重启 维护网络安全大力发展数字经济 网络安全产业年产值 尚学网络技术 嵌入式软件开发app 企业网络安全认证资质 长沙蓝狐网络技术有限公司 mysql连不上内网数据库 网络安全管理业务系统 数据库 任意字段默认值 新乡市东科网络技术有限公司 微软软件开发靠谱吗 计算机技术和网络技术区别 妈妈家科技互联网有限公司
0