Paxos Made Simple

2019-04-16  本文已影响0人  CocoAdapter

注:Pn 是原论文中明确给出的 constraint,Cn 是推导过程中,临时的 constraint。

推导步骤:

  1. 多个 Proposer, 一个 Acceptor
  1. 多个 Proposer, 多个 Acceptor

Paxos 算法描述

上面的推导过程已经描述了算法需要满足哪些要求,即执行过程中如何处理分布式环境下的问题,下面总结 Paxos 算法的流程。
Paxos 算法分为两个阶段:

Paxos 算法的一个无错情况下的流程

Learner 学习被 chosen 的 value

Learner 学习被 chosen 的 value 有如下三种方案:


如何保证 Paxos 算法的活性


通过选取主 Proposer,proposal 由它来发,就可以保证 Paxos 算法的活性。选择主 Proposer 必须要么使用随机数,要么依照当前物理时间。至此,我们得到一个既能保证安全性,又能保证活性的分布式一致性算法——Paxos 算法。

实现

实现部分略,等以后(或许永远也不)再填坑吧。

参考:
分布式一致性算法——Paxos原理与推导过程
《Paxos Made Simple》翻译
Paxos Made Simple [原文解释版][转载]

上一篇下一篇

猜你喜欢

热点阅读