【分布式共识算法】Basic Paxos 算法

这篇具有很好参考价值的文章主要介绍了【分布式共识算法】Basic Paxos 算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

basic paxos算法:描述的是多个节点就某个值达成共识。
muti-paxos 算法:描述的是执行多个basic paxos实例,就一系列值达成共识。

共识其实,比如当多个客户端请求服务器,修改同一个值X 多个阶段达成共识。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链

原理

角色:提议者、接受者、学习者。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链

提议者 :说白了就是提出一个值,用于投票表决。
接受者:对提议者提出的值进行投票表决,并存储对应的值。比如A、B、C三个节点,参与协商,并接收和存储数据。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链
所以一个节点即可能是提议者,也可能是接收者,比如对于一个集群来说,客户端发送请求,当一个节点接收到请求,就是提议者。
学习者:被告知投票的结果,接收达成共识的值,存储保存,不参与投票的过程。 就是一个数据备份的作用。

提议者代表的是接入和协调功能,收到请求后发起二阶段提交,进行共识协商。
接受者代表投票协商和存储数据,对提议的值进行投票,并接受达成共识的值,存储保存
学习者只保存共识的值,不参与投票

提案编号:每个提议者需要的一个编号。
提案值:需要达成共识的数据。

准备阶段

假设客户端1发送一个[1,] 提案编号,请求先达到节点A、B,客户端2发送提案编号[5,] 先达到节点C。因为准备节点不需要提议值,写需要写到提案编号就可以了。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链
整个处理过程是这样的。
节点A、B先收到1的提案编号,并且查看之前没有提案编号,并承诺以后不响应小于等于1的提案编号,不会通过小于1的提案
节点c接受到请求后,因为是提案5到达,所以不响应小于等于5的提案编号,不会通过小于5的提案。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链

【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链

所以整个过程来说的话,其实就是针对节点A、B 提案编号1返回了响应。节点C对于提案编号5返回了响应。然后节点A、B 对于提案编号5返回响应,因为5>1。而节点C针对提案编号1 不发挥响应。

接受阶段

客户端 接着发起接受阶段,比如客户端1发起的提议值是3,那么就是[1,3] 而客户端2发起提议值是7,所以就是 [5,7]。由于有规则限定,接受者不会接受比自己小的提案编号的提议值,所以接受者 A、B、C三个节点否决了客户端1的提议值。而接受了客户端2的提议值。
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链
【分布式共识算法】Basic Paxos 算法,# 共识算法,# 分布式存储,# 分布式理论,分布式,共识算法,区块链
所以最终三个节点就x=7达成了共识。
而basic paxos算法具备一定的容错能力,也就是集群中少于一半以上的节点出现故障的话,剩余节点依然可以就某个值达成共识。

小结

basic paxos是通过二阶段提交的方式进行达成共识的。
basic paxos可以实现容错能力,少于一半的节点故障,依然可以工作
提案编号其实就代表者优先级,
在请求阶段,如果接受者不会返回小于等于已经响应过的提案编号。比如请求 1、2,2如果先到达,1就不会响应
在接受阶段,如果接受请求的提案的提案编号,小于已经响应过的提案编号,接受者不会通过这个提案
如果接受者之前有通过提案,那么接受者将承诺,会在准备请求返回已经通过的最大编号的提案信息

三个说白了就是我不会响应小于提案编号。不会通过已经响应过的提案值。如果有结果,那么就不会在产生新的值。文章来源地址https://www.toymoban.com/news/detail-653989.html

到了这里,关于【分布式共识算法】Basic Paxos 算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【分布式】分布式共识算法 --- RAFT

    CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance) It states, that though its desirable to have Consistency, High-Availability and Partition-tolerance in every system, unfortunately no system can achieve all three at the same time. 在分布式系

    2024年02月06日
    浏览(33)
  • 分布式一致性算法Paxos、Raft 及 Zookeeper ZAB

    国科大学习生活(期末复习资料、课程大作业解析、学习文档等): 文章专栏(点击跳转) 大数据开发学习文档(分布式文件系统的实现,大数据生态圈学习文档等): 文章专栏(点击跳转) 分布式一致性算法是用于在分布式系统中 确保数据一致性 的一类算法。在分布式计

    2024年02月04日
    浏览(49)
  • 分布式共识 - Raft 算法

    本文由 SnailClimbopen in new window 和 Xieqijunopen in new window 共同完成。 Raft协议由Diego Ongaro和John Ousterhout(斯坦福大学)开发,Diego于2014年获得了博士学位。Raft的设计是为了更好地理解如何实现一致性,考虑到它的前身Paxos算法,由Lesli Lamport开发,非常难以理解和实现。因此,Di

    2024年02月20日
    浏览(27)
  • 分布式系统共识机制:一致性算法设计思想

    这次以一个宏观的角度去总结 自己学习过的一致性算法。一致性算法的目标就是让分布式系统里的大部分节点 保持数据一致。 区块链中的共识算法,pow、pos这类就属于这个范围,但他们仅仅是在区块链领域内应用的,下面介绍一致性算法是在分布式系统中 应用广泛的,当然

    2023年04月16日
    浏览(42)
  • 分布式协议与算法——CAP理论、ACID理论、BASE理论

    CAP理论,对分布式系统的特性做了高度抽象,比如抽象成了一致性、可用性和分区容错性,并对特性间的冲突(也就是CAP不可能三角)做了总结。 CAP三指标 CAP理论对分布式系统的特性做了高度抽象,形成了三个指标: 一致性(Consistency) 可用性(Availability) 分区容错性(

    2024年02月14日
    浏览(30)
  • 分布式协议Raft和Paxos详解

    一、Raft是一种相对简化的分布式一致性算法,它由Diego Ongaro和John Ousterhout于2013年提出。与Paxos相比,Raft的设计目标是使一致性问题更易于理解、实现和部署。 Raft协议核心思想是将一致性问题分解为几个关键组件,包括领导者选举、日志复制和安全性。 领导者选举:Raft协议

    2024年02月15日
    浏览(37)
  • 分布式「走进分布式一致性协议」从2PC、3PC、Paxos 到 ZAB

    设计一个分布式系统必定会遇到一个问题—— 因为分区容忍性(partition tolerance)的存在,就必定要求我们需要在系统可用性(availability)和数据一致性(consistency)中做出权衡 。这就是著名的 CAP 一致性(Consistency)是指多副本(Replications)问题中的数据一致性。关于分布式

    2024年02月03日
    浏览(56)
  • 一篇文章让你弄懂分布式一致性协议Paxos

    Paxos算法由Leslie Lamport在1990年提出,它是少数在工程实践中被证实的强一致性、高可用、去中心的分布式协议。Paxos协议用于在多个副本之间在有限时间内对某个决议达成共识。Paxos协议运行在允许消息重复、丢失、延迟或乱序,但没有拜占庭式错误的网络环境中,它利用“大

    2024年02月09日
    浏览(35)
  • 分布式状态机共识协议 Copilot

      目录 前言 定义 slowdown 为什么现有的共识协议无法容忍 slowdown Copilot 如何处理 slowdown 设计 模型  排序 Client 同时发送指令至 pilot 与 copilot Pilot 提议指令与其初始依赖 节点回复 FastAccept Pilot 尝试通过 fast path 来 commit 该指令 Pilot 在 Accept 阶段最终确定依赖  执行 Copilot 最终合

    2024年02月09日
    浏览(38)
  • 论文-分布式-共识,事务以及两阶段提交的历史描述

    这是一段关于一致性,事务以及两阶段提交的历史的描述 阅读关于一致性的文献可能会有些困难,因为: 各种用语在不断的演化着(比如一致性consensus最初叫做协商agreement); 各种研究成果并不是以一种逻辑性的顺序产生出来; 同时描述整个分布式算法的框架与这些研究工作

    2024年02月07日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包