问题标签 [paxos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
709 浏览

distributed-system - 查看更改算法和paxos

我想知道视图更改算法和Paxos之间有什么关系?在我的讲义中,它指出“每个视图的参与者都同意主要的,然后再控制复制过程”。在这种情况下的观点是什么? Paxos 与此有何关联?

0 投票
1 回答
5204 浏览

implementation - 关于 Paxos 和论文 Paxos Made Simple 的澄清

我读了一篇名为“Paxos made simple”的论文,但仍然有些困惑:

  1. “paxos算法的实例”指的是什么?每个实例是否表明有来自外部客户端的输入/命令?并且每个实例的paxos算法将并行执行???

  2. 如果只有一个“杰出”的proposer可以发出proposal,那么paxos算法和2-phase commit算法有什么区别???

  3. 在实际项目中,我们可以在哪里应用 paxos 算法?

似乎这里的论文给出了更清晰的描述: http ://research.microsoft.com/pubs/64634/web-dsn-submission.pdf

还有什么想法吗?

0 投票
1 回答
473 浏览

algorithm - 模型检查 Paxos

我已经实现了共识算法(基于 Paxos)。我添加了一些随机测试用例,看起来不错。但是想通过模型检查进行测试?找不到正确的文章。请分享如何在 Paxos 中进行模型检查

谢谢

0 投票
1 回答
2033 浏览

distributed-system - 分布式系统的好书

是否有一本非常好的书深入介绍:两阶段提交、paxos 以及在实现一致性、可用性、分区容错方面的限制。

浏览 Amazon 时会发现有很多分布式系统书籍甚至没有涉及 paxos。

0 投票
7 回答
10029 浏览

scalability - 无冲突复制数据类型 (CRDT) 与 Paxos 或 Raft

什么时候使用 CRDT 之类的东西而不是 paxos 或 raft 是个好主意?

0 投票
5 回答
10209 浏览

algorithm - Paxos 和 Cassandra 中的 W+R>=N 有什么区别?

类似 Dynamo 的数据库(例如 Cassandra)可以通过 quorum 来强制一致性,即应以 W+R>N 的方式选择同步写入的副本数 (W) 和要读取的副本数 (R) N 是复制因子。另一方面,像 Zookeeper 这样的基于 PAXOS 的系统也被用作一致的容错存储。

这两种方法有什么区别?PAXOS 是否提供 W+R>N 模式未提供的保证?

0 投票
1 回答
609 浏览

distributed - 多paxos实例

在维基百科http://en.wikipedia.org/wiki/Paxos_(computer_science)中,提案编号和实例编号不一致。
消息流:Multi-Paxos,稳态
| X--------->|->|->| | | Accept!(N,I+1,W)

消息流:Collapsed Multi-Paxos,稳定状态
| X->|->| 接受!(N+1,I,W)

一个是实例编号的增量,一个是选票编号,为什么?

0 投票
1 回答
429 浏览

distributed-transactions - XA 准备阶段的两阶段提交和执行?

我试图理解两阶段提交,但我不清楚每个本地站点何时执行其分布式事务的一部分。

在发送准备消息之前是否发生这种情况。那是在两阶段提交 xa 协议甚至运行之前发生吗?

还是每个站点在收到准备消息后执行其部分分布式事务,这意味着准备消息本身也包括要执行的事务查询?

0 投票
1 回答
391 浏览

concurrency - Paxos 与 Snapshot Isolation 并发控制的关系

我想知道基于 Paxos 的复制方案与快照隔离等不同并发模型之间的实际关系是什么。任何人都可以用很少的实际例子来解释这两者的关系吗?

0 投票
1 回答
1526 浏览

cloud - paxos 价值选择

我在 wiki 页面和论文(paxos 变得简单)上阅读了有关 paxos 的信息。但是,我仍然对一些细节感到困惑:

  1. 在阶段 1a 中,提议者是否在向接受者的提议中包含其打算选择的值?

  2. 在阶段 1b 中,acceptor 应该返回它之前接受的值(如果有的话)。价值的生命周期是多少?IOW,什么时候被认为被接受,什么时候被覆盖/丢弃?

关于生命时间问题的一些更新。IIUC,在第一次接受之后,接受者应该总是手头有一个先前接受的值。它如何决定是否应该在下一个承诺(1b)阶段返回它?或者它什么时候决定忘记这个值?


更新 2 以更好地与@MichealDeardeuff 讨论:

我对paxos有以下理解:

通常在 paxos 工作流中,acceptor 应该总是手头有一个以前接受的值。并且在回答准备请求时,它将在承诺响应中发回该值。并且提议者需要检查该值是否与上一轮提议的自己的值相同。如果不是,则提议者继续发送带有接受者返回值的接受请求。如果是,那么提议者继续发送带有它打算在当前轮次中发送的值的接受请求。

以上理解正确吗?

如果不正确,请解释原因?

如果它是正确的,我很困惑,因为 paxos 协议没有明确说明。它只说:

其中 v 是响应中编号最高的提案的值,或者如果响应报告没有提案,则为任何值。

但是,据我了解,提议者需要检查接受者返回的值是否与一轮提议的同一提议者相同。如果是,即使在 Promise 响应中存在编号最高的提议值,提议者仍然可以选择它想要的任何值,就好像接受者没有返回值一样。

这就是我想看看是否有任何参考来支持理解的原因。

非常感谢!