选举协议paxos 协议 理解

  1. 获取一个Proposal ID n,为了保证Proposal ID唯一,可采用时间戳+Server ID生成;
  2. Proposer向所有Acceptors广播Prepare(n)请求;
  3. Acceptor比较n和minProposal,如果n>minProposal,minProposal=n,并且将 acceptedProposal 和 acceptedValue 返回;
  4. Proposer接收到过半数回复后,如果发现有acceptedValue返回,将所有回复中acceptedProposal最大的acceptedValue作为本次提案的value,否则可以任意决定本次提案的value;
  5. 到这里可以进入第二阶段,广播Accept (n,value) 到所有节点;
  6. Acceptor比较n和minProposal,如果n>=minProposal,则acceptedProposal=minProposal=n,acceptedValue=value,本地持久化后,返回;否则,返回minProposal。
  7. 提议者接收到过半数请求后,如果发现有返回值result >n,表示有更新的提议,跳转到1;否则value达成一致。

理解: 设共有 2f+1个个体。则最多共可以产生f+1 个不同的value 值。

证明:假设当前在 2f+1个个体 中已经产生了 f+1 个不同的value值。 由于第4步Proposer需要收到超过半数的回复,也就是说至少需要收到f+1个回复;

也就可以简化成 从 2f+1 个个体中,的f+1 个子集中 获取 value 值,由于假设条件(已存在f个不同的value值),则这个value 值必定属于原来的f+1 value 值的集合中。所以永远无法产生 第f+2 个value 值

原文地址:https://www.cnblogs.com/gfbppy/p/12228242.html

时间: 2024-11-06 03:28:50

选举协议paxos 协议 理解的相关文章

四,分布式事务一致性协议paxos通俗理解

转载地址:http://www.lxway.com/4618606.htm 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法. Paxos算法目前在Google的Chubby.MegaStore. Spanner等系统中得到了应用,Hadoop中的ZooKeeper也使用了Paxos算法,在上面的各个系统中,使用的算法与Lamport提出的 原

(转)理解这两点,也就理解了paxos协议的精髓

转发 https://blog.csdn.net/qq_35440678/article/details/78080431 什么是paxos协议?Paxos用于解决分布式系统中一致性问题.分布式一致性算法(Consensus Algorithm)是一个分布式计算领域的基础性问题,其最基本的功能是为了在多个进程之间对某个(某些)值达成一致(强一致):简单来说就是确定一个值,一旦被写入就不可改变.paxos用来实现多节点写入来完成一件事情,例如mysql主从也是一种方案,但这种方案有个致命的缺陷,如

分布式系统理论(二):一致性协议Paxos

摘要: 分布式系统理论第二章,此系列主要以理论为主. Paxos算法 Paxos算法是莱斯利·兰伯特(Leslie Lamport)于1990年提出的一种基于消息传递的一致性算法. Paxos 算法是一个解决分布式系统中,多个节点之间就某个值(注意是某一个值,不是一系列值)达成一致的通信协议.能够处理在少数派离线的情况下,剩余的多数派节点仍然能够达成一致. Lamport是通过故事的方式提出Paxos 问题:希腊岛屿Paxon 上的执法者在议会大厅中表决通过法律(一次paxos过程),并通过服务

TIDB 架构及分布式协议Paxos和Raft对比

近来newsql大热,尤以TIDB最火,pingcap不断打磨TiDB,现如今版本已经迭代到3.0,产品已经基本趋于成熟.对于TiDB,整体架构图如下图所示是由四个模块组成,TiDB Server,PD Server,TiKV Server,TiSpark. TiDB Server负责接受SQL请求,处理SQL的相关逻辑,并通过PD找到存储计算所需数据的TiKV地址,与TiKV交互获取数据,最终返回结果.TiDB Server是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过

图解分布式一致性协议Paxos

Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢? <分布式系统的事务处理>: Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品. <大规模分布式存储系统>: 理解了这两个分布式协议之后(Paxos/2PC),学习其他分布式协议会变得相当容易. 学习Paxos算法有两部分:a) 算法的原理/证明:b) 算法的理解/运作. 理解这个算法的运作过程其实基本就可以用于工程实践.而且理解这个过程相

[转]图解分布式一致性协议Paxos

Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢? <分布式系统的事务处理>: Google Chubby的作者MikeBurrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品. <大规模分布式存储系统>: 理解了这两个分布式协议之后(Paxos/2PC),学习其他分布式协议会变得相当容易. 学习Paxos算法有两部分:a) 算法的原理/证明:b) 算法的理解/运作. 理解这个算法的运作过程其实基本就可以用于工程实践.而且理解这个过程相对

六:分布式事务一致性协议paxos的分析

最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载.对paxos算法有初步了解之后,再看此文的效果会更好:如果你也想分析libpaxos3的话,此文应该会对你有不小帮助:关于paxos的历史这里不多做介绍,关于描述paxos算法写的最好的一篇文章应该就是维基百科了,地址戳这里:http://zh.wik

Paxos协议基本原理

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 本文节选自<大数据日知录:架构与算法>第二章"数据复制与一致性" |2.4.4 Paxos协议 在过去十年里,Paxos基本成为了分布式领域内一致性协议的代名词.Google的粗粒度锁服务Chubby的设计开发者Burrows曾经说过:"所有一致性协议本质上要么是Paxos要么是其变体".Paxos是几乎所有相关课程必讲内容以及很多其它一致性协议的起点,Pa

OC协议的简单理解

新建一个工程,工程里面有Person, dog,blackman三个类,person需要找个人来帮他盖房子. 分析:dog是动物,肯定不会造房子,blakman,或许可以建房子,那程序如何判断blackman,dog能否建房子?那我们就需要一个东西来限定/指定他们的属性,这就是协议咯,协议在我看来就是一个可以限定/指定一些对象属性的东西,所以现在我们现在新建一个名为delegate的类 @protocol onedelegate <NSObject> //创建一个协议 @required //