朴素Paxos通过多轮proposer、acceptor选举的方式选举一个提议,这个过程为一个Instance。Multi-Paxos通过算法来确定很多Instance的值,这些Instance的值在多个节点的顺序保持一致,在朴素Paxos中,通过计算找到编号为i的Instance,之后再计算编号为i+1的Instance,这样形成顺序的Instance,这样形成的latency(延迟)很高。而Multi-paxos希望找到Paxos与提议的关系,在某些情况下,省略prepare的过程。

下图描述了Multi-paxos的演进过程:

申明:节点A/B/C,1(A)表示A节点产生编号1。

常规的Paxos的提交过程。

只有A节点提交的演进过程:

当只有A节点提交时,每次prepare都是一样的,所以可以把promise表示为全局变量。

在之后A节点提交的时候,当我们有Instance i的时候,我们定义在[i , 无限]的时候都有promise。

当有B提交新的prepare时,[i , 无限]被打破,如图,这时候只有[1 , 3]  prepare 。

为什么在Multi-Paxos时,我们不需要prepare, 因为在accep的时候已经prepare了,论文中是说通过合并Prepare了。

总结:Multi-Paxos利用单节点提交时,promise生效范围为全局Instance,省去了prepare的过程,Mutli-paxos是某种情况下优化,Mutli-Paxos的约束。

要发挥Multi-Paxos单节点提交的优势,需要一个leader提交,由Multi-Paxos自然产生leader,Multi-Poxos希望一直持续保持单节点Accept,所以其他节点应该拒绝请求,这时候自然选出了leader。用paxos进行选举Master是有意义的,而不应该用到Multi-poxos的leader产生上。

Paxos的一致性算法应用于读、写:当我们需要读到latest的数据时,通过paxos算法选出Master,在Master进行读写操作,达到强一致性。Master与leader的区别:leader为加速Paxos的选举提议过程,而Master是要达到分布式的强一致性,需要Paxos等一致性算法来选举,保证。

Paxos理论介绍(二):Multi-Paxos相关推荐

  1. 分布式理论(五)—— 一致性算法 Paxos

    分布式理论(五)-- 一致性算法 Paxos 前言 Paxos 算法如同我们标题大图:世界上只有一种一致性算法,就是 Paxos.出自一位 google 大神之口. 同时,Paxos 也是出名的晦涩难 ...

  2. 分布式理论(五) - 一致性算法Paxos

    前言 世界上只有一种一致性算法,就是 Paxos.出自一位 Google 大神之口.Paxos 也是出名的 晦涩难懂,推理过程极其复杂. Paxos 有点类似之前说的 2PC,3PC,但是解决了这两种 ...

  3. basic paxos,multi paxos

    1.basic paxos: 集群内所有节点如何就一个值达成共识 角色: 1.提议者:提出提议(proposal). 2.接受者:对于提议要给出自己的回答. 3.学习者:接受达成共识的值,不参与投票和 ...

  4. Multi Paxos

    Multi Paxos是什么 Basic Paxos 只能对一个值形成决议,决议的形成至少需要两次网络来回,在高并发情况下可能需要更多的网络来回,极端情况下甚至可能形成活锁 实际应用中我们常常需要连续 ...

  5. Paxos协议之Basic Paxos/Multi Paxos

    论文Paxos made simple从简单易懂的角度阐述了Paxos算法.之后,2013年斯坦福大学的Diego Ongaro做了一个讲座:Implementing Replicated Logs ...

  6. CAP理论十二年回顾:规则变了

    CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性.可用性.分区容忍性三要素中的两个要素.但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡. 自 ...

  7. 大话分布式理论之二——共识算法与一致性的区别

    [系列目录] 大话分布式理论之二--共识算法与一致性的区别 大话分布式理论之一--从单体到SOA再到微服务 文章目录 共识算法 拜占庭将军问题 分布式理论中的将军们 共识算法-Paxos/Raft等 ...

  8. 实例学习SSIS(五)--理论介绍SSIS

    导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSI ...

  9. 企业级360°全方位用户画像:项目介绍[二]

    絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...

最新文章

  1. java 初始化系统参数_系统中参数的初始化 参数在系统中配置
  2. BorderDet(论文解读)
  3. 编程异常——假设你报createSQLQuery is not valid without active transaction,...
  4. 修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...
  5. 安装ORACLE 11.2.0.3 错误
  6. 单片机小白学步系列(十) 单片机程序下载相关知识
  7. python读取txt文件_python实现读写txt文件的几种方法
  8. oracle 布尔盲注,Oracle基于延时的盲注总结
  9. 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
  10. javamelody监控java项目_使用javamelody监控javaEE
  11. SpringBoot 实战 (十七) | 整合 WebSocket 实现聊天室
  12. 推荐参考文献元数据挖掘的几篇论文
  13. NumberFormat格式化数字
  14. 单片机驱动DM9000网卡芯片
  15. 树的搜索问题1(深度优先、广度优先,爬山法和best-first)
  16. 畅购商城(三):商品管理
  17. 电气器件系列三十四:智能除湿装置
  18. 成功体验Katalon框架测试安卓APK(一)
  19. C++开发者的机会在哪里?盘点C/C++就业方向
  20. 一步步学习微软InfoPath2010和SP2010--第一章节--介绍InfoPath2010

热门文章

  1. asmca - 11g
  2. Inception V1:Going deeper with convolutions
  3. 解决欢乐斗地主拼命下载中问题
  4. Mysql 常用函数(33)- dayofmonth 函数
  5. WuThreat身份安全云-TVD每日漏洞情报-2022-12-23
  6. C语言中的声明和定义
  7. Windows下安装配置PHP
  8. 技多不压身,史上最全IT学习视频高清全集
  9. 查看七牛云生成qiniuUploadToken的过期时间
  10. 西南政法大学计算机课程要求,西南政法大学本科课程教学改革办法