知识地图
横轴为模块、纵轴为难度层级,虚线为前置依赖(prerequisites)。悬停节点可看标题,点击进入知识点。
入门核心进阶前沿
⌀ 虚线 = 前置依赖
# 分布式系统 · 知识库总览
领域边界
核心问题:当计算与存储被拆分到多个通过网络协作、各自拥有独立故障域的节点上时,如何在不可靠的网络、不确定的时序与部分失效的前提下,对外提供可扩展、高可用、语义正确的服务。
学完能做到什么:
- 看懂一套分布式系统的架构图,说清它的时间模型、一致性级别、容错机制与分区策略。
- 在选型时回答关键问题:该系统牺牲了什么换来了什么(CAP/PACELC 视角)。
- 设计一个中等复杂度的分布式功能(如订单链路、计数器、分布式锁)并正确处理失败路径。
- 读得懂经典论文(Dynamo、Spanner、Raft、Kafka)与生产故障复盘(Jepsen 报告)。
前置知识(不属于本知识库范围,建议先行掌握):
- 操作系统基础:进程与线程、内存与文件、系统调用。
- 计算机网络:TCP/IP、UDP、DNS 基本工作方式。
- 数据库基础:事务 ACID、索引、SQL。
- 一点数学:概率直觉(超时与重试的期望)、算法复杂度分析。
阶段划分
| 阶段 | 内容 | 对应模块 |
|---|---|---|
| 入门 | 分布式系统的本质特征、核心指标、时间与故障模型 | 01 |
| 核心 | 通信方式、复制、一致性模型、共识(Raft)、分区、分布式事务 | 02–05 |
| 进阶 | Paxos 深入、CRDT、快照、Gossip、真实系统案例 | 03–06 |
| 前沿 | 拜占庭容错、确定性模拟测试、混沌工程、新硬件趋势 | 04、06 |
最小可用路径:kp-001 → kp-002 → kp-005 → kp-006 → kp-011 → kp-012 → kp-013 → kp-019 → kp-023 → kp-025。走完这条线即可建立"复制 + 一致性 + 共识 + 事务 + 分区"的完整骨架,其余知识点按需补齐。