前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

Paxos

作者头像
宇宙之一粟
发布2022-05-13 14:50:28
2780
发布2022-05-13 14:50:28
举报
文章被收录于专栏:宇宙之_一粟宇宙之_一粟

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Basic-Paxos
    • 角色介绍
      • 步骤和阶段
        • 流程图
          • 潜在问题--活锁
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档