EPaxos协议解读

EPaxos协议解读

本篇博文主要描述了EPaxos command commit的过程,并且解释了为什么fast quorum的值如此奇怪。
相比Multi Paxos和Raft,EPaxos有着自己的优势,但是缺点也非常明显,EPaxos协议非常复杂,接口行为也不见得适应现在的软件栈,比如commit和execution的阶段划分更加的明确,execution逻辑很复杂,读取操作也很复杂。我个人认为EPaxos协议的一些想法还是比较有意思的,但是不太适合生产场合使用,毕竟能实现一个高效正确的Multi Paxos协议已属不易,而且EPaxos协议虽然吞吐量能有比较大的提高,但是容易发现协议中各种操作真正在实现时,会出现大量非常耗费CPU的代码,整体性能能提高到多少,我想并不太乐观。

FLP impossibility证明 阅读笔记

FLP impossibility证明 阅读笔记

分布式系统一致性协议里面有一个FLP impossibility的结论,这个结论是说,在分布式系统中,异步网络(消息延迟可能任意大或丢失,消息可能乱序),只要有一个进程失效(进程死亡或者足够长时间不响应),就不可能设计出一个一致性协议。
该结论由Fisher、Lynch、Paterson三位分布式系统领域的科学家在1985年在论文Impossibility of Distributed Consensus with One Faulty Process证明。本文解读了证明过程。

Dynamo论文阅读笔记

Dynamo论文阅读笔记
Dynamo: Amazon’s Highly Available Key-value Store Dynamo这篇论文是2007年出来的,以前读研究生的时候读过,前两天看了一篇NoSQL综述提到了这篇论文,今天重读一遍,简单做些笔记,里面有些东西还只是简单看了下不够深入。 Dynamo系统本身并没有提出新的技术,但是将各种分布式技术融合在一起,构建了一个高性能高可用高可扩展的key-value存储。Dynamo牺牲了强一致性,使用vector clock等方法把数据冲突...

重新审视Paxos协议的Quorum问题

重新审视Paxos协议的Quorum问题

Flexible Paxos: Quorum intersection revisited 这篇论文重新审视了Paxos中关于Quorum的问题。在Basic Paxos中,要求任何quorum都有交集(通常选择多数派作为quorum)。事实上,这个要求可以放宽到Paxos的两个阶段prepare/accept阶段的quorum有交集即可。文中描述了majority, simple, grid三种quorum system。