第六章:分布式共识及算法

世界上只有一种共识算法,就是 Paxos,其他所有的共识算法都是 Paxos 的退化版本。

—— Mike Burrows,Google Chubby 作者

分布式系统中充满了各种潜在的错误场景,网络数据包可能丢失、顺序紊乱、重复发送或者延迟,节点还可能宕机。“在充满不确定性的环境中,就某个决策达成共识”是软件工程领域最具挑战性的问题之一。

这一章,我们迎难而上,从解决问题的角度出发理解什么是共识,沿着 Paxos 算法的思路讨论如何达成共识,以工程实践为目的学习 Raft 算法的设计思想。最后,理解了问题以及如何解题,自然能体会到 Apache Kafka、 Zookeeper、etcd、Consul 等分布式系统核心组件的设计原理,掌握构建大规模分布式系统的关键要素。

本章内容安排如图 6-0 所示。


图 6-0 本章内容导图

总字数:275
Last Updated:
Contributors: isno, Bin