zoukankan      html  css  js  c++  java
  • Paxos is Simple

    【角色】
    0-MainProposer提案生成者
    1-提案发送者(MainProposer+OtherProposer)
    2-提案接收者(Acceptor)
    【动作】
    0-MainProposer---->生成提案
    1-MainProposer+OtherProposer---->发送[提案内容、提案编号]结构体至Acceptor
    2-提案接收者(Acceptor)---->反馈至提案发送者(MainProposer+OtherProposer)表示批准提案
    【约束条件】
    0-超过半数提案接收者(Acceptor)批准提案(Proposer),则其被批准;
    1-MainProposer提案生成者,全局唯一,其生成提案内容和全局互异提案编号[提案内容、提案编号]({key:val}),OtherProposer从MainProposer获取提案内容和提案编号并发送至提案接收者(Acceptor);
    2-全局互异性编号整数值单调递增且和提案为“一对多”关系;
    3-提案接收者(Acceptor),无条件批准其收到的第一个提案;其之后对于所有收到的提案,校验提案编号值大小,和之前已经批准的提案编号比大小,
    如后者大,则批准后者,且今后不再批准编号小于该编号的提案;
    4-MainProposer提案生成者收到超过半数提案接收者(Acceptor)”反馈,则认为提案通过,结束;否则,继续生成[提案内容、提案编号]({key+positive:val+0}),其中仅提案编号更新为收到提案接收者(Acceptor)反馈响应的[提案内容、提案编号]结构体集合中最大提案编号的相对大值。

  • 相关阅读:
    DataGrip for Mac破解步骤详解 亲测好用
    git 之路
    linux用户管理
    virtualenvwrappers pipreqs 踩坑
    pycharm 快捷键
    kubernetes(k8s)之K8s部署多种服务yaml文件
    centos下彻底删除mysql的方法
    vi 和vim 的区别
    Django中related_name作用
    Windows CMD命令大全
  • 原文地址:https://www.cnblogs.com/rsapaper/p/7674272.html
Copyright © 2011-2022 走看看