分布式算法(转)
Posted xiaoxuebiye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式算法(转)相关的知识,希望对你有一定的参考价值。
https://www.cnblogs.com/xybaby/p/10124083.html
正文
raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos。但Paxos是:少数真正理解的人觉得简单,尚未理解的人觉得很难,大多数人都是一知半解。本人也花了很多时间、看了很多材料也没有真正理解。直到看到raft的论文,两位研究者也提到,他们也花了很长的时间来理解Paxos,他们也觉得很难理解,于是研究出了raft算法。
raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。这些年最为火热的加密货币(比特币、区块链)就需要共识算法,而在分布式系统中,共识算法更多用于提高系统的容错性,比如分布式存储中的复制集(replication),在带着问题学习分布式系统之中心化复制集一文中介绍了中心化复制集的相关知识。raft协议就是一种leader-based的共识算法,与之相应的是leaderless的共识算法。
本文基于论文In Search of an Understandable Consensus Algorithm对raft协议进行分析,当然,还是建议读者直接看论文。
以上是关于分布式算法(转)的主要内容,如果未能解决你的问题,请参考以下文章
Nginx+Memcache+一致性hash算法 实现页面分布式缓存(转)
一致性哈希算法(consistent hashing)(转)
转(一致性哈希算法(consistent hashing))