• paxos 算法略解


    paxos算法是莱斯利·兰伯特英语:Leslie Lamport,LaTeX中的“La”)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法

    维基地址是https://zh.wikipedia.org/wiki/Paxos%E7%AE%97%E6%B3%95

    paxos 

    有以下几个

    client 产生提议者

    proposer 申请提议者

    acceptor 接受提议者

    learn 学习者

    这其中 client产生提议,proposer将产生的提议拿去申请,acceptor接受申请,client最终学习

    主要proposer分为两阶段

    第一阶段 准备阶段

    properser拿着client产生的提议和自己产生的编号去访问acceptor,如果acceptor为空,则接受这个提议和编号,并存起来,如果中途发现有acceptor的发现它的编号不为空,且编号大于这个提议者的编号,那么就会拒绝他,但是这个properser不放弃,会更新自己的编号重新去访问所有acceptor,如果自己的提议和编号被超过半数的acceptor接受,就会进入第二阶段,如果在申请的时候发现,已经提交了的acceptor已经过半了,那么该properseor会马上改变自己,接受已经的说好的提议。

    第二阶段 提交阶段

    propersor得到过半数的acceptor接受,准备提交了,propersor变成多线程准备提交的时候,如果acceptor在这个提交之前又接受了别的propersor的申请,并且发现自己的申请数,不过半,那么就会重新进入第一阶段,否则直接结束,该propersor的提议得到发行,acceptor记录这个提议,并告诉所有的propersor,某个提议已得到批准。

    而acceptor会在接收提议和编号的过程按规则行事,如果自己为空,则接收该议题和编号,如果不为空,且发现已有的编号大于申请者的编号则会拒绝,如果小于,则会更新自己的编号和议题。,不过都会返回自己的所拥有的的编号和议题

  • 相关阅读:
    OC学习小总结
    导航控制器
    稍微完善了一些的简单计算器的设计
    android端腾讯性能监控框架Matrix源码分析之第一篇
    android MVP模式介绍与实战
    android声音检测仪---分贝仪 (附源码)
    我的几个开源项目
    结合支付宝和微信首页巩固android事件分发机制 (附项目源码)
    SLAM论文阅读笔记
    Python之可迭代对象、迭代器、生成器
  • 原文地址:https://www.cnblogs.com/feicheng/p/6593087.html
Copyright © 2020-2023  润新知