我已经在维基页面和论文(paxos变得简单)上阅读了关于paxos的内容.但是,我仍然对一些细节感到困惑:
在阶段1a,提议者是否包括它打算在接受者提案中选择的值?
在阶段1b中,接受者应该返回先前接受的值(如果有的话).这个价值的生命周期是多少?IOW,什么时候被认为是被接受的,什么时候被覆盖/丢弃?
关于终身问题的一些更新.国际工会联合会在首次接受后,接受方应始终具有先前已接受的价值.它如何决定是否应该在下一个承诺(1b)阶段归还?或者它何时决定忘记价值?
更新2以更好地与@MichealDeardeuff讨论:
我对paxos有如下理解:
通常在paxos工作流程中,接受者应始终具有先前接受的值.在回答准备请求时,它会在promise响应中发回值.并且提议者需要检查该值是否与上一轮中提出的值相同.如果不是,则提议者继续发送接受请求,其中包含接受者返回的值.如果是,则提议者继续发送具有其打算在当前轮次中发送的值的Accept请求.
以上理解是否正确?
如果不正确,请您解释原因?
如果它是正确的,我很困惑,因为paxos协议没有明确说明.它只说明:
其中v是响应中编号最高的提议的值,如果响应未报告提议,则为任何值.
但是,根据我的理解,提议者需要检查并查看acceptor返回的值是否与上一轮中提出的相同提议者的值相同.如果是,即使在promise响应中存在具有编号最高的提议的值,提议者仍然可以选择它想要的任何值,就好像没有接受者返回的值.
这就是我想看看是否有任何参考支持理解的原因.
非常感谢!