原文在
http://stackoverflow.com/questions/14435646/paxos-value-choice/14472334#14472334
引用
Now, let's take a hypothetical example that people often give, and which they think breaks Paxos. Suppose we have three Acceptors A1, A2, and A3. A1 and A2 have both accepted value ABC at round 1 and A3 has chosen XYZ at round 2 (ie. from a different proposer). We can see that A1 and A2 form a majority and that ABC has been "chosen."
Continuing along this hypothetical example, a proposer sends Prepare(3) and receives back responses from A2 and A3, viz Promise(ABC @ 1) and Promise(XYZ @ 2). The Proposer sees XYZ has the highest round, and sends that along in the Accept phase, overwriting ABC on the other hosts. And viola, Paxos is broken, Right?
引用
No. The problem is with the start state, which is impossible. Let me show you why.
First, some propositions, which are key to Paxos running correctly:
Proposition A: For A1 and A2 to have the value ABC @ 1, a proposer must have sent Accept(ABC @ 1) which means it must have received a majority of Promises in response to sending Prepare(1).
Proposition B: For A3 to have the value XYZ @ 2, a proposer must have sent Accept(XYZ @ 2) which means it must have received a majority of Promises in response to sending Prepare(2).
分享到:
相关推荐
GryadkaJS: 一个基于Paxos算法的Redis复制层支持动态重新配置
两篇论文大概码了3万多字,每一个公式都是手敲的… 为什么会研究Paxos?最近使用RockerMQ,发现其Broker的主从没有实现自动选主及同步,所以小编想从底层学习下RocketMQ,然后自己尝试去实现这一块。 当然这很难,...
cheap-paxos 的论文
Paxos算法的中文翻译,值得参考,讲述了paxos协议的原理
Revisiting the Paxos algorithm
Paxos算法详解.ppt
raft simplify Paxos algorithm you deserved it since it so powful
Paxos算法.pdf
《Paxos到Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍...第五部分(第8章)介绍了ZooKeeper的运维实践,包括配置详解和监控管理等,重点讲解了如何构建一个高可用的ZooKeeper服务。
Paxos图解(xmid图解)
Paxakos 是基于 Leslie Lamport 的Paxos的分布式共识算法的纯 Rust 实现。它使分布式系统能够一致地修改其网络中的共享状态,即使在出现故障的情况下也是如此 为了使用 Paxakos,需要实现特征 [ LogEntry]、[ State...
Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能得到一个一致的状态。为...
Fast Paxos is an extension of the classic Paxos algorithm that allows the value to be learned in two message delays. How and why the algo-rithm works are explained informally, and a TLA+ speci¯...
paxos是经典一致性算法,这是基于一致性的paxos源码
paxos made live 英文版,paxos 在google的实现。
paxos简单版论文,好东西,分布式必看
chubby,paxos,zookpeer 协议,原理
在github上找到的paxos算法实现,具体是运行和实现方法可以看README文件,注意acceptor、proposer、以及learner的数量根据打开进程的数量变化,不是局限于.c文件的数量。
分布式服务协议Paxos原理、应用场景