土法炼钢兴趣小组的算法知识备份

分布式系统百科

文章导航

分类入口
distributed
标签入口
#distributed-systems#index#series#encyclopedia

目录

分布式系统的难不在”分布”,在”一致”。本系列 64 篇文章,从最基础的系统模型出发,逐层深入到共识协议、复制机制、分布式事务、存储系统、计算框架,直至前沿研究方向。每篇文章对着真实系统或论文,代码级别地拆。

本系列假设你有后端开发经验,了解基本的网络通信和数据库概念。完整阅读建议按顺序从 Part I 开始;如果你关注特定主题,每个 Part 也可以独立阅读。


Part I · 基础模型与不可能性

  1. 系统模型 — 同步/异步/部分同步,故障模型,系统模型的选择
  2. 不可能性定理 — FLP 不可能性,CAP 定理,PACELC,共识数
  3. 故障模型 — 崩溃/遗漏/拜占庭,故障检测器,灰色故障
  4. 端到端论证 — Saltzer 经典论文精读,在分布式系统中的应用
  5. 复杂度与下界 — 消息复杂度,轮次下界,协议对比

Part II · 时间、时钟与顺序

  1. 物理时钟 — NTP,PTP,Google TrueTime,时钟漂移
  2. 逻辑时钟 — Lamport 时钟,向量时钟,版本向量,矩阵时钟
  3. 混合逻辑时钟 — HLC 设计,CockroachDB 实现分析
  4. 一致性模型 — 线性一致性,顺序一致性,因果一致性,最终一致性
  5. 会话保证与因果一致性 — 四种会话保证,COPS,Bolt-on 因果一致性

Part III · 共识协议

  1. 共识问题导论 — 形式化定义,Safety/Liveness,FLP 工程意义,状态机复制
  2. Paxos — Single-Decree,Multi-Paxos,Paxos Made Live
  3. Raft 深度拆解 — 选举,日志复制,安全性证明,etcd/raft 工程,Multi-Raft
  4. EPaxos 与 Flexible Paxos — 无主共识,依赖图,Flexible Paxos 法定人数
  5. Viewstamped Replication 与 PBFT — VR 协议,拜占庭容错,PBFT 三阶段
  6. HotStuff 与现代 BFT — 链式 HotStuff,线性复杂度 BFT
  7. 共识协议的工程权衡 — 协议选型决策树,性能/复杂度/容错对比

Part IV · 复制

  1. 主从复制 — 同步/异步/半同步,故障转移,复制延迟
  2. 多主复制 — 冲突检测与解决,拓扑结构
  3. 无主复制 — Quorum 读写,Sloppy Quorum,反熵修复
  4. 链式复制与 CRAQ — 链式复制协议,CRAQ 读优化
  5. 线性一致性的实现 — 实现方案对比,性能代价
  6. 复制日志的设计 — WAL,物理/逻辑复制,日志压缩

Part V · 分区

  1. 哈希分区 — 一致性哈希,虚拟节点,Rendezvous 哈希,Jump Hash
  2. 范围分区 — 分裂/合并策略,TiKV Region,HBase Region
  3. 分区环境下的二级索引 — 本地索引 vs 全局索引,DynamoDB GSI
  4. 数据再平衡 — 固定/动态/比例分区,TiKV PD 调度

Part VI · 分布式事务

  1. 2PC 的真实失败模式 — 状态机,协调者故障,Presumed Abort/Commit
  2. 3PC 与 Saga — 3PC 局限性,Saga 编排与编制,TCC
  3. Percolator 模型 — Google Percolator 精读,TiDB 实现分析
  4. Spanner 与 TrueTime — 外部一致性,Commit Wait,CockroachDB 对比
  5. Calvin 与确定性事务 — 确定性执行,三层架构,FaunaDB
  6. 分布式快照隔离 — SI/SSI,Write Skew,CockroachDB SSI
  7. 分布式事务实战对比 — TiDB/CockroachDB/YugabyteDB/Spanner 对比

Part VII · 分布式存储系统

  1. 分布式日志:Kafka 与 Pulsar — Kafka ISR,KRaft,Pulsar 分层架构
  2. Dynamo 论文精读 — 一致性哈希+向量时钟+Quorum+Merkle 树+Gossip
  3. 从 GFS 到 HDFS — GFS 设计,HDFS NameNode HA,对象存储趋势
  4. Ceph 与 CRUSH — CRUSH 算法,PG,BlueStore,三种存储接口
  5. 分布式 KV 存储对比 — etcd vs TiKV vs FoundationDB
  6. NewSQL 架构拆解 — Spanner/CockroachDB/TiDB,存算分离 vs 一体

Part VIII · CRDT 与无冲突复制

  1. CRDT 理论 — 半格,State-based vs Op-based,SEC 定义
  2. CRDT 类型目录 — 计数器/寄存器/集合/序列/图,完整实现
  3. CRDT 在协同编辑中的应用 — OT vs CRDT,Yjs,Automerge,Diamond Types
  4. Delta-state CRDT 与反熵优化 — 增量传播,Merkle 树反熵,元数据 GC

Part IX · 分布式计算框架

  1. MapReduce — 论文精读,容错机制,Shuffle 开销,Hadoop 生态
  2. Spark 内核 — RDD,DAG 调度,Tungsten,Catalyst 优化器
  3. Flink 深度拆解 — Watermark,Checkpoint(Chandy-Lamport),Exactly-Once
  4. Dataflow 模型与流批一体 — What×Where×When×How,Lambda/Kappa 架构

Part X · 分布式协调与成员管理

  1. ZooKeeper 内核 — ZAB 协议,Watch 机制,会话管理
  2. etcd 深度解剖 — 持久 Watch,MVCC,Kubernetes 中的角色
  3. 分布式锁的真相 — Redlock 争论,Fencing Token,正确实现
  4. 成员协议:SWIM 与 Gossip — SWIM 探测,Memberlist 源码分析

Part XI · 可靠性与正确性工程

  1. Jepsen 方法论 — 一致性测试,Knossos/Elle,经典发现
  2. 确定性模拟测试 — FoundationDB 哲学,Buggify,TigerBeetle
  3. 形式化验证 — TLA+,Amazon 实践,P 语言,Dafny
  4. 混沌工程 — Chaos Monkey,四步方法论,工具链
  5. 大规模故障复盘 — GitHub/Cloudflare/AWS/Facebook 等真实案例

Part XII · 网络与通信基础设施

  1. RPC 框架内核 — gRPC 深度解剖,序列化对比,超时/重试/幂等
  2. Gossip 协议 — 流行病传播模型,Push/Pull,反熵与谣言传播
  3. 可靠广播 — FIFO/因果/全序广播,与共识等价性

Part XIII · 前沿与未来

  1. 新硬件对分布式系统的冲击 — CXL,RDMA,SmartNIC,持久内存
  2. 存算分离架构 — Snowflake,Aurora,Neon
  3. Serverless 的分布式系统挑战 — 冷启动,有状态 Serverless,Firecracker
  4. 可验证分布式系统的未来 — IronFleet,Verdi,AI 辅助形式化验证

相关阅读

本系列与博客其他文章形成交叉引用网络:

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-13 · distributed

【分布式系统百科】物理时钟的谎言:NTP、PTP 与时钟漂移的工程现实

分布式系统的物理时钟从来不精确:石英振荡器每天最多漂移 8.6 秒,NTP 校准依赖对称网络假设,闰秒可以在凌晨击垮 Linux 内核。本文拆解石英漂移的物理根源、NTP/PTP 协议的校准机制、时钟跳变对超时逻辑的破坏、Spanner TrueTime 和 AWS Clockbound 的工程方案,以及工程师应该遵守的墙上时钟与单调时钟使用规范。

2026-04-13 · distributed

【分布式系统百科】共识问题的精确定义:Agreement、Validity、Termination

共识到底在解决什么问题?Agreement、Validity、Termination 三个性质的精确含义是什么?Safety 和 Liveness 的区分为什么如此关键?FLP 不可能定理对工程实践意味着什么?本文从形式化定义出发,逐步展开共识的变体、原子广播的等价性,以及状态机复制这个最重要的应用。


By .