温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是paxos协议

发布时间:2021-10-20 16:13:42 来源:亿速云 阅读:106 作者:柒染 栏目:大数据

这篇文章将为大家详细讲解有关什么是paxos协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

        解决问题:在消息有可能丢失的情况下,如何保证多个提出者(Proposer)和多个接收者(Acceptor)最终得到一个一致的提案。

        理论要求:

            1.一个acceptor必须批准他的第一个提案

            2.存在一个超过半数acceptor的集合s,要么s没有批准过,要么s批准过提案中,最大编号小于Mn,值为Vn,那么提案[Mn,Vn]才会被批准

        Acceptor工作流程:

            1.如果Acceptor提出的prepared的Mn比他批准过的大,则他不再接收小于Mn的版本号,但是会批准大于Mn的。并且返回小于Mn的已经批准的最大版本号的值value

        Proposer工作流程:

            1.向所有Acceptor发送prepared请求,如果收到过半以上响应,则进行下一步。

            2.如果收到的响应中已经有了value值,则只能选取版本号最高的value值作为自己提出提案的value。如果没有value,则可以任意选取。

优化:

        1.leanrer也是一个集群,如果learner与acceptor都有连接,则通信次数会过多,如果learner只有一个,又容易挂掉。那么最优解为选取一部分learner作为集群。

        2.会出现这样的情况,p1进行prepared的时候,acceptor批准,在它提交提案过程中,acceptor又prepare了更高的版本号,导致他的提案被忽略,产生“活锁”。所以解决方法为使用单个的Proposer。

关于什么是paxos协议就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI