对Raft与Paxos的关系的理解

这段时间学习了下分布式的一些理论知识,这篇文章主要是说下我对Raft和Paxos的关系的理解(两个算法的学习笔记可以参见前面的一些博文)。

在小秦看来,Raft其实近似是Paxos的一个简化版本。在Mutil-Paxos中,如果存在总统,那么这个总统就对应了Raft中的leader。在Paxos上加上一些限制,可以近似的得到Raft。比如: Continue reading

Raft算法的学习与理解

这篇文章小秦学习了下Raft算法,和PAXOS一样,也是个分布式算法。

算法的原理其实很简单,《In Search of an Understandable Consensus Algorithm》这个论文中写的比较详细,这里记录下算法的一些注意点,帮助大家更快的理解下这个算法。另外推荐大家看下:https://raftconsensus.github.io/#implementations Continue reading

PaxosLease算法实现——用于Paxos自身选主

这篇文章主要是说明一下PaxosLease的算法,主要是参考了:http://dsdoc.net/paxoslease/index.html

在Paxos中,如果能够选举出一个leader(在Lamport的论文中称之为总统),那么有助于提高投票的成功率。另外这个leader在多个决议的选举中有很重要的作用(要靠他得到决议的连续id)。因此,如何通过某种方法得到一个leader就是PaxosLease所说明的。 Continue reading

PAXOS算法理解

在之前的一偏文章中,小秦我学习了下PAXOS的大致算法思想。这里,在《The Part-Time Parliament》的基础上(主要是看了中文的一个翻译版本,感谢翻译人),趁着春节的假期再次学习下PAXOS算法的数学基础、协议流程,以及尝试了解下作者是如何解决一些我在思考分布式问题时遇到问题的一些解决思路。 Continue reading

PAXOS的初次学习

参考:
http://dsdoc.net/paxosmadesimple/index.html#id49
http://my.oschina.net/linlifeng/blog/78918
http://www.open-open.com/lib/view/open1420635646984.html

可以参考小秦我的这篇文章,在链接中的文章中对PAXOS有了更加深入的体会。

1.P1 + P2如何保证一致性?
P1:一个Acceptor必须通过(accept)它收到的第一个提案。 Continue reading