当前位置:网站首页>Paxos 入门

Paxos 入门

2022-07-05 00:36:00 51CTO


莱斯利-兰伯特 于1990年提出的一种基于消息传递的一致性算法。 

Basic-Paxos

角色介绍

  • Client 请求发起者,系统外部角色
  • Proposer 接收Client请求,向集群提出提议。起到冲突调节的作用
  • Acceptor 提出议票和接受者,只有在行程法定人数(Quorum)时,提议才会最终被接受。(仲裁系统)
  • Learner 提议接受者,备份,对集群一致性没有影响(不参与投票)

步骤和阶段

  • 1、Prepare

Proposer提出一个提案,编号为N,此N大于这个Proposer之前提出提案编号。请求acceptor的quorum接收

  • 2、Promise

如果N大于此acceptor之前接收的任何提案编号则接受,否则拒绝

  • 3、Accept

如果达到了多数派,proposer会发出acceptor请求,此请求包含提案编号N,以及内容

  • 4、Accepted

如果此acceptor在此期间没有收到任何大于N的提案,则接受此提案的内容,否则忽略

流程图

  1. 部分节点失效,还是可以达成共识
  2. Proposer失败,

潜在问题--活锁

实现难,效率低(2轮RPC)

Multi Paxos

Fast Paxos

原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/yuzhou1su/5441847