zoukankan      html  css  js  c++  java
  • 选举协议paxos 协议 理解

              目标:

              3.1,被选定的value不能凭空出现,必须是Proposer曾经提议过的;

              3.2,不管是对单个Acceptor还是一组Acceptor来说,被选定的value有且仅能有一个;

              3.3,只有value被选定,即达成共识以后,才能被Learner学习

            过程:

    1. 获取一个Proposal ID n,为了保证Proposal ID唯一,可采用时间戳+Server ID生成;
    2. Proposer向所有Acceptors广播Prepare(n)请求;
    3. Acceptor比较n和minProposal,如果n>minProposal,minProposal=n,并且将 acceptedProposal 和 acceptedValue 返回;
    4. Proposer接收到过半数回复后,如果发现有acceptedValue返回,将所有回复中acceptedProposal最大的acceptedValue作为本次提案的value,否则可以任意决定本次提案的value;
    5. 到这里可以进入第二阶段,广播Accept (n,value) 到所有节点;
    6. Acceptor比较n和minProposal,如果n>=minProposal,则acceptedProposal=minProposal=n,acceptedValue=value,本地持久化后,返回;否则,返回minProposal。
    7. 提议者接收到过半数请求后,如果发现有返回值result >n,表示有更新的提议,跳转到1;否则value达成一致。
  • 相关阅读:
    MetaMask/metamask-extension-provider
    MetaMask/json-rpc-engine
    MetaMask/json-rpc-middleware-stream
    DamonOehlman/detect-browser
    kumavis/obj-multiplex
    java面试第三天
    java面试第二天
    JavaScript公共函数
    Eclipse快捷键大全
    Jdbc入门
  • 原文地址:https://www.cnblogs.com/gfbppy/p/12228242.html
Copyright © 2011-2022 走看看