(b) 假设一个Acceptor收到一个编号为N的Prepare央求,且N大于该Acceptor曾经照应过的一切Prepare央求的编号,那么它就会将它曾经接受过的编号最大的提案(假设有的话)作为照应反应给Proposer,同时该Acceptor承诺不再接受任何编号小于N的提案。
阶段二:
(a) 假设Proposer收到半数以上Acceptor对其收回的编号为N的Prepare央求的照应,那么它就会发送一个针对[N,V]提案的Accept央求给半数以上的Acceptor。留意:V就是收到的照应中编号最大的提案的value,假设照应中不包含任何提案,那么V就由Proposer本人决议。
(b) 假设Acceptor收到一个针对编号为N的提案的Accept央求,只需该Acceptor没有对编号大于N的Prepare央求做出过照应,它就接受该提案。
Learner学习被选定的value
Learner学习(获取)被选定的value有如下三种方案:
如何保证Paxos算法的活性
经过选取主Proposer,就可以保证Paxos算法的活性。至此,我们失掉一个既能保证安全性,又能保证活性的散布式分歧性算法——Paxos算法。
【编辑引荐】
负载平衡的5种算法,你了解几种?
负载平衡的算法你了解不?
如何完成一个通用的散布式事务框架?
复杂散布式架构下的计算管理之路
自古帝王多短命,假设皇帝也懂负载平衡算法...
(责任编辑:admin)