分布式系统原理与协议 专栏导览

专栏定位

本专栏聚焦分布式系统的核心理论基础与协议本身,回答一个工程师在深入分布式领域时必然会遇到的追问链:

为什么分布式系统这么难?→ 有哪些理论约束证明了这种难度是本质性的?→ 各种协议(Paxos/Raft/ZAB/Gossip)是如何在这些约束下求解的?→ 工程实践中如何在理论理想与现实代价之间权衡?

这不是一个”如何使用 ZooKeeper”或”Kafka 怎么部署”的运维手册——而是深入协议设计者的视角,理解每一个设计决策背后的”为什么”。

专栏目录

序号文章标题核心主题
0101 分布式系统的本质难题局部视角、时钟不一致、网络不可靠;为何单机思维在分布式世界失效
0202 CAP 定理深度解析CAP 精确含义;P 为何不可选;CP vs AP 的真实权衡;PACELC 扩展
0303 FLP 不可能定理与共识问题共识的形式化定义;FLP 定理的证明思路;Paxos/Raft 如何”绕过”它
0404 Paxos 算法原理深度解析Basic Paxos 两阶段推导;Multi-Paxos 优化;正确性证明思路
0505 Raft 共识算法深度解析可理解性设计哲学;领导者选举;日志复制;安全性证明
0606 ZAB 协议:ZooKeeper 的一致性基石ZAB vs Raft;崩溃恢复与消息广播;ZXID 设计;Leader 切换一致性
0707 向量时钟与因果一致性逻辑时钟到向量时钟;因果一致性定义;版本向量的工程应用
0808 Gossip 协议:去中心化信息传播三种 Gossip 模式;收敛速度分析;Cassandra/Redis Cluster 中的应用
0909 分布式系统的一致性模型谱系线性一致性/顺序一致性/因果一致性/最终一致性的严格定义与工程含义
1010 分布式系统设计的工程权衡从理论到工程的落地哲学;幂等、重试、背压、降级;选型决策树

知识图谱


graph TD
    A["为什么分布式难?</br>(第01篇)"] --> B["CAP 定理</br>(第02篇)"]
    A --> C["FLP 不可能定理</br>(第03篇)"]
    C --> D["Paxos 算法</br>(第04篇)"]
    C --> E["Raft 算法</br>(第05篇)"]
    D --> F["ZAB 协议</br>(第06篇)"]
    E --> F
    A --> G["向量时钟 / 因果一致性</br>(第07篇)"]
    A --> H["Gossip 协议</br>(第08篇)"]
    B --> I["一致性模型谱系</br>(第09篇)"]
    G --> I
    D --> I
    E --> I
    I --> J["工程权衡与选型</br>(第10篇)"]
    B --> J
    F --> J
    H --> J

    classDef theory fill:#44475a,stroke:#ff79c6,color:#f8f8f2
    classDef protocol fill:#44475a,stroke:#8be9fd,color:#f8f8f2
    classDef practice fill:#44475a,stroke:#50fa7b,color:#f8f8f2

    class A,B,C theory
    class D,E,F,G,H protocol
    class I,J practice

推荐阅读路径

路径一:理论优先(推荐有一定分布式经验的读者)

01 → 03(FLP)→ 04(Paxos)→ 05(Raft)→ 02(CAP)→ 09(一致性模型)→ 10

路径二:实践优先(推荐工程背景读者)

01 → 02(CAP)→ 05(Raft,最易读)→ 06(ZAB/ZooKeeper)→ 08(Gossip)→ 09 → 10

路径三:速览(只想了解核心结论)

02(CAP)→ 09(一致性模型)→ 10(工程权衡)

核心概念速查

概念一句话定义详见
CAP 定理分布式系统在网络分区时无法同时满足一致性和可用性第 02 篇
FLP 不可能定理异步网络中,哪怕只有一个节点可能崩溃,确定性共识算法不存在第 03 篇
共识(Consensus)多个节点对某个值达成一致且不可撤销的过程第 03 篇
Paxos基于多数派投票的两阶段共识协议,奠定了现代共识算法的理论基础第 04 篇
Raft以可理解性为设计目标的共识协议,将共识问题分解为领导者选举和日志复制第 05 篇
ZABZooKeeper 原子广播协议,支持崩溃恢复的主备模式原子广播第 06 篇
向量时钟一种偏序关系追踪机制,用于捕获事件之间的因果依赖第 07 篇
Gossip基于流行病传播模型的去中心化信息扩散协议第 08 篇
线性一致性最强的一致性模型,要求所有操作看起来是瞬间完成的且有一个全局顺序第 09 篇
最终一致性最弱的活性承诺,保证在没有新更新的情况下,所有副本最终收敛第 09 篇

关联专栏

  • 分布式锁:分布式锁依赖共识协议保证互斥性
  • 分布式事务:2PC/3PC/TCC/Saga 等分布式事务方案的理论基础
  • etcd:Raft 协议的工程实现
  • ZooKeeper:ZAB 协议的工程实现
  • Redis Cluster:Gossip 协议在 Redis 中的应用
  • Ceph:Paxos 在 Ceph Monitor 中的应用