Paxos理论介绍(二):Multi-Paxos
朴素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相关推荐
- 分布式理论(五)—— 一致性算法 Paxos
分布式理论(五)-- 一致性算法 Paxos 前言 Paxos 算法如同我们标题大图:世界上只有一种一致性算法,就是 Paxos.出自一位 google 大神之口. 同时,Paxos 也是出名的晦涩难 ...
- 分布式理论(五) - 一致性算法Paxos
前言 世界上只有一种一致性算法,就是 Paxos.出自一位 Google 大神之口.Paxos 也是出名的 晦涩难懂,推理过程极其复杂. Paxos 有点类似之前说的 2PC,3PC,但是解决了这两种 ...
- basic paxos,multi paxos
1.basic paxos: 集群内所有节点如何就一个值达成共识 角色: 1.提议者:提出提议(proposal). 2.接受者:对于提议要给出自己的回答. 3.学习者:接受达成共识的值,不参与投票和 ...
- Multi Paxos
Multi Paxos是什么 Basic Paxos 只能对一个值形成决议,决议的形成至少需要两次网络来回,在高并发情况下可能需要更多的网络来回,极端情况下甚至可能形成活锁 实际应用中我们常常需要连续 ...
- Paxos协议之Basic Paxos/Multi Paxos
论文Paxos made simple从简单易懂的角度阐述了Paxos算法.之后,2013年斯坦福大学的Diego Ongaro做了一个讲座:Implementing Replicated Logs ...
- CAP理论十二年回顾:规则变了
CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性.可用性.分区容忍性三要素中的两个要素.但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡. 自 ...
- 大话分布式理论之二——共识算法与一致性的区别
[系列目录] 大话分布式理论之二--共识算法与一致性的区别 大话分布式理论之一--从单体到SOA再到微服务 文章目录 共识算法 拜占庭将军问题 分布式理论中的将军们 共识算法-Paxos/Raft等 ...
- 实例学习SSIS(五)--理论介绍SSIS
导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSI ...
- 企业级360°全方位用户画像:项目介绍[二]
絮叨两句: 博主是一名软件工程系的在校生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们 人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战 少年 ...
最新文章
- java 初始化系统参数_系统中参数的初始化 参数在系统中配置
- BorderDet(论文解读)
- 编程异常——假设你报createSQLQuery is not valid without active transaction,...
- 修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...
- 安装ORACLE 11.2.0.3 错误
- 单片机小白学步系列(十) 单片机程序下载相关知识
- python读取txt文件_python实现读写txt文件的几种方法
- oracle 布尔盲注,Oracle基于延时的盲注总结
- 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
- javamelody监控java项目_使用javamelody监控javaEE
- SpringBoot 实战 (十七) | 整合 WebSocket 实现聊天室
- 推荐参考文献元数据挖掘的几篇论文
- NumberFormat格式化数字
- 单片机驱动DM9000网卡芯片
- 树的搜索问题1(深度优先、广度优先,爬山法和best-first)
- 畅购商城(三):商品管理
- 电气器件系列三十四:智能除湿装置
- 成功体验Katalon框架测试安卓APK(一)
- C++开发者的机会在哪里?盘点C/C++就业方向
- 一步步学习微软InfoPath2010和SP2010--第一章节--介绍InfoPath2010