distributed - 为什么 paxos 接受者必须发回他们已经接受的任何值

标签 distributed paxos

我正在学习 MIT 6.824 类(class),我有一个关于 paxos 的问题。当proposer向acceptor发送prepare时,acceptor将返回一个prepare_ok,其中n和v是最高accept看到的。我想知道为什么acceptor需要返回n和v?

最佳答案

简而言之,接受者必须返回 v,因为如果该值已经提交,那么新的提议者需要知道它是什么。没有全局“is_comfilled”标志,因此提议者从至少大多数接受者那里收集所有这些值及其相关轮次。然后,提议者将轮次最高的值发送给所有接受者。

正如你所看到的,当一个提议者从接受者那里收到一个值时,它总是会完成另一个提议者已经开始的事情。这有点类似于很多无等待算法。

关于distributed - 为什么 paxos 接受者必须发回他们已经接受的任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556959/

相关文章:

python - 如何跨多个调用将 dask-DAG 持久保存在分布式集群上并保留中间结果?

algorithm - Paxos phase 2a 消息丢失

apache-zookeeper - Chubby Sequencer 的目的是什么

共识算法 : what will happen if an odd cluster becomes even because of a node failure?

distributed-system - 领导选举的 paxos vs raft

distributed - 集成 Neo4J 和 Terracotta?

python - TensorFlow 分布式运行时模型并行 CIFAR-10

hadoop - 服务器在使用namenode的辅助namenode docheckpoint期间返回403

algorithm - OT 和 CRDT 的区别

java - 如何同步两个 Java 应用程序?