Paxos理论介绍(二):Multi-Paxos
来源:互联网 发布:帝国cms和phpcms合并 编辑:程序博客网 时间:2024/06/10 17:53
朴素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理论介绍(三): Master选举
- paxos之Multi-Paxos
- Paxos -- 介绍
- paxos
- Paxos
- paxos
- paxos
- paxos工程中的运用-multi-paxos
- multi-paxos和raft区别
- Paxos算法介绍
- Paxos算法介绍
- Zookeeper介绍-Paxos实现
- 1.zookeeper/paxos介绍
- Paxos理解之我见(二)
- 分布式一致性算法(二)Paxos算法
- Basic Paxos介绍与论述
- 简单说明 __cdecl、__stdcall和__fastcall
- 链表的基本知识1
- ccf201403-2
- VB test
- 社群系统ThinkSNS正式启动创业扶持计划
- Paxos理论介绍(二):Multi-Paxos
- HttpServletRequest常用获取URL的方法
- 深度图的实时平滑
- MySQL忘记密码或者因为修改mysql.user导致无法登陆解决方法
- 在线视频应用:flash播放器换html5播放器常见的问题汇总
- 【比特币】SPV是如何工作的
- 线程池学习
- 给模型的模块添加触摸点击等交互事件
- 备忘录模式