• paxos协议


    看了《从paxos到zookeeper》里面paxos协议的讲解,推导过程太复杂。记录一下paxos协议的内容

    协议用于分布式数据一致性,分为三种角色,proposer、acceptor、learner。proposer向accepor集合提出议案[Mn, Vn], accepor批准议案,即确定那个议案为最终结果,learner主要同步结果, 类似master - slave中的slave

    两个阶段:

    阶段一:

      1. proposer提出议案[Mn, Vn],发送给prepare大部分的accepor节点

      2. acceptor节点收到prepare请求,承诺不批准比Mn更小的提案。如果批准其他提案Vx,返回Vx

    阶段二:

      1. proposer收到大部分acceptor响应,发送accept请求。如果没有Vx返回,发送[Mn, Vx]给acceptor。如果有Vx返回,发送[Mn, Vn]

      2. acceptor收到accept请求,批准提案[Mn, Vn]或者[Mn, Vx]

    备注,为了避免死循环可以使用主proposer给acceptor发送提案

    learner同步提案

    方式一:

      所有的acceptor m个给learner n个发送提案, 网络通信次数m * n

    方式二:

      所有的acceptor给主learner发送提案, 主learn同步给其他learner, m + n - 1(单点故障)

    方式三:

      所有acceptor m给一个learner x集合同步提案, 集合learner在给剩余learn同步 m * x + x * (n - x) = x * ( m + n - x)

  • 相关阅读:
    第11周学习进度条
    人月神话阅读笔记03
    人月神话阅读笔记02
    第10周学习进度条
    对各团队的评价意见
    第九周学习进度条
    《构建之法阅读笔记05》
    站立会议10
    第十一周学习进度
    cnblogs.com的用户体验
  • 原文地址:https://www.cnblogs.com/luckygxf/p/9939938.html
Copyright © 2020-2023  润新知