paxos学习笔记

1、角色

Proposer(提议者):提出提案(proposal)。Proposal信息包含提案编号(Proposal ID)和提议的值(Value)

Acceptor(决策者):参与决策,回应Proposers的提案。收到Proposal后可以接受提案,若Proposal获得多数Acceptors的接受,则称该Proposal被批准。

Learner(最终决策学习者):不参与决策,从Proposers/Acceptors学习最终达成一致的提案(Value)

2、流程

Paxos算法通过一个决议分为两个阶段

  1. Prepare阶段:Proposer向Acceptors发出Prepare请求, Acceptors针对收到的Prepare请求进行Promise承诺
  2. Accept阶段:Proposer收到多数 Acceptors 承诺的Promise后,向Acceptors发出Propose请求,Acceptors针对收到的Propose请求进行 Accept处理
  3. Learn阶段:Proposer在收到多数Acceptors的Accept后,标志着本次Accept成功,决议形成,将形成的决议发送给所有Learners。

参考资料:

https://zhuanlan.zhihu.com/p/31780743

《Paxos Made Simple》

你可能感兴趣的:(架构,学习)