basic paxos包含两个阶段,每个阶段包含两个部分(a和b), 对应两轮RPC消息传递, 每个阶段的a和b部分对应RPC的请求阶段和响应阶段。
promise阶段 phase 1B: voters收到消息后判断:消息中的编号n大于之前接受的所有编号, 返回promise消息进行响应, 并且承诺不 接受任何小于n的提案。如果voters之前接受了提案,需要返回上一次的编号和值。 如果小于之前的编号,返回fail就可。
持久性问题:为了故障恢复, 存储最大编号,已接受编号, 已接受提案值。
2.第二阶段:
phase 2A:提议者收到过半数接受者promise响应, 向多数派的voters发起accept请求, 带上提案编号和值。
phase 2B:acceptors收到accept请求, 如果没接收到大于n的提案, 则接受,保存提案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。