开发者社区> 问答> 正文

Basic Paxos主要包括哪些阶段?

Basic Paxos主要包括哪些阶段?

展开
收起
三分钟热度的鱼 2024-04-26 22:37:43 42 0
2 条回答
写回答
取消 提交回答
  • 一个九年资深的程序员,擅长数据库、Java、C#、系统运维、电脑技巧等方面知识,阿里云专家博主、C站站优质博主、公众号运营超五年,热爱分享IT技术相关技术文章,给大家提供帮助!

    basic paxos包含两个阶段,每个阶段包含两个部分(a和b), 对应两轮RPC消息传递, 每个阶段的a和b部分对应RPC的请求阶段和响应阶段。

    1. 第一阶段:
      ​ prepare阶段(请求阶段)phase 1A:proposer收到客户端请求,选择最新的提案编号n, 向超过半数的voters广播,请求投票。

    ​ promise阶段 phase 1B: voters收到消息后判断:消息中的编号n大于之前接受的所有编号, 返回promise消息进行响应, 并且承诺不 接受任何小于n的提案。如果voters之前接受了提案,需要返回上一次的编号和值。 如果小于之前的编号,返回fail就可。

    ​ 持久性问题:为了故障恢复, 存储最大编号,已接受编号, 已接受提案值。

    2.第二阶段:
    phase 2A:提议者收到过半数接受者promise响应, 向多数派的voters发起accept请求, 带上提案编号和值。

    phase 2B:acceptors收到accept请求, 如果没接收到大于n的提案, 则接受,保存提案。

    2024-04-29 09:26:08
    赞同 展开评论 打赏
  • Basic Paxos主要包括PREPARE阶段、ACCEPT阶段、和COMMIT阶段。

    2024-04-27 08:11:48
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载