第六章:分布式共识及算法
分布式系统中充满了各种潜在的错误场景,网络数据包可能丢失、顺序紊乱、重复发送或者延迟,节点还可能宕机。“在充满不确定性的环境中,就某个决策达成共识”是软件工程领域最具挑战性的问题之一。
这一章,我们迎难而上,从解决问题的角度出发理解什么是共识,沿着 Paxos 算法的思路讨论如何达成共识,以工程实践为目的学习 Raft 算法的设计思想。最后,理解了问题以及如何解题,自然能体会到 Apache Kafka、 Zookeeper、etcd、Consul 等分布式系统核心组件的设计原理,掌握构建大规模分布式系统的关键要素。
本章内容安排如图 6-0 所示。
图 6-0 本章内容导图
总字数:275字