栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

分布式系统知识学习(二)共识算法

分布式系统知识学习(二)共识算法

分布式系统知识体系庞大而精妙,不花费大量的时间无法掌握。本文根据一些前人经验和自己摸索总结,由浅入深、由基础概念到实际运用,给出了一条学习曲线相对平滑的分布式学习攻略,希望和大家多多交流,共同进步。本篇为基础篇学习,涉及到了数百篇论文及博客资料,需要耐下心慢慢学习才可以体会到其精髓,欲速则不达。

另外,本系列文章在github上优先更新,有空才会更新CSDN的同篇文章,有兴趣的可以关注Awesome-Distributed-System

共识算法

两阶段提交和三阶段提交

两阶段提交和三阶段提交是共识算法的基础方法,也是广泛使用的共识算法,可以参考以下文献了解。

《Consensus Protocols: Two-Phase Commit》《Consensus Protocols: Three-phase Commit》


Paxos Paxos算法是共识算法中最经典的算法,目前依然被大量的商业化软件使用。Paxos被公认较难理解,而且实现起来困难,因为作为一个纯学术理论的产物,设计伊始并未考虑工业界实现的难度。

《A plain english introduction to CAP Theorem》一文用一个通俗易懂的事例讲述了CAP原理,可以作为入门读物。《CAP Theorem: Revisited》一文通过绘图和简洁的讲解说明了为什么只有可能出现CP或者AP而不存在CA模型。《The CAP FAQ》是Henry Robinson在github上发表的一系列FAQ,这里前排推荐这位大牛的博客,有很多不错的文章,如《Distributed systems theory for the distributed systems engineer》。


Raft Raft算法是Paxos的改良版,因为由工业界提出,其初衷即为便于实现,因此是一个叫较为容易实现的工业级共识算法。

首先Raft的经典论文《In Search of an Understandable Consensus Algorithm》 当然是要认真学习的然后相对于论文,有一个可视化的算法演示网站也是不容错过的。


Zab

ZAB算法全称Zookeeper Atomic Broadcast,是Zookeeper中使用的共识算法,作为开源项目,广泛应用于Hadoop,Hbase等之中。

首先经典论文一定要学习,《ZooKeeper’s atomic broadcast protocol: Theory and practice》然后还有经典论文《Zab: High-performance broadcast for primary-backup systems》雅虎的论文也不容错过《A simple totally ordered broadcast protocol》

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号