← 返回专栏列表

分布式算法系列

共 9 篇文章

1. 分布式算法 #01:Paxos 共识算法

> Paxos 是分布式共识问题的奠基性算法,由 Leslie Lamport 于 1998 年发表。本文从 Basic Paxos 的三阶段协议出发,推导 Multi-Paxos 的 Leader 优化,并深入分析 Leader 宕机、消息丢失、网络分区、活锁等异常场景下算法如何保证安全性。 相关文章:Raft 共识…

2. 分布式算法 #02:Raft 共识算法

> Raft 是 Diego Ongaro 于 2014 年提出的共识算法,以可理解性为首要设计目标,将共识问题分解为 Leader 选举、日志复制、安全性三个相对独立的子问题。本文深入伪代码级别,并重点分析 Leader 宕机、日志冲突、网络分区、脑裂恢复等异常场景。 相关文章:Paxos 算法 · 向量时钟与因果一…

3. 分布式算法 #03:Gossip 协议与 SWIM 故障检测

> Gossip 协议是一类受流行病传播模型启发的去中心化信息传播协议,无单点故障,扩展性极强。本文覆盖 Anti-entropy 与 Rumor-mongering 两种模式,以及 SWIM(Scalable Weakly-consistent Infection-style Membership)故障检测算法,并深…

4. 分布式算法 #04:向量时钟与因果一致性

> 分布式系统中没有全局时钟,节点间的事件顺序无法用物理时间判断。本文从 Lamport 时钟出发,推导向量时钟与版本向量,深入分析乱序消息、并发写冲突、网络分区恢复时的合并策略,以及与 HLC 的关系。 相关文章:Raft 共识算法 · CRDT(无冲突复制数据类型) · Hybrid Logical Clock(H…

5. 分布式算法 #05:CRDT(无冲突复制数据类型)

> CRDT(Conflict-free Replicated Data Type)是一类可以在多个副本上独立更新、并在任意时刻自动合并且不产生冲突的数据结构。本文覆盖 G-Counter、PN-Counter、LWW-Register、OR-Set 等核心类型的原理与伪代码,并深入分析网络分区、并发写、消息乱序等异常…

6. 分布式算法 #06:Quorum 与 NWR 模型

> NWR 模型是分布式存储系统(Dynamo、Cassandra、Riak)中调节一致性与可用性的核心机制。本文深入分析 Read Repair、Hinted Handoff、Sloppy Quorum 的算法细节,并给出 W+R≤N 导致脏读的数学证明和异常场景的完整分析。 相关文章:Paxos 算法 · Raft…

7. 分布式算法 #07:Merkle Tree 与反熵同步

> Merkle Tree 是一种哈希树数据结构,能以 O(log N) 的通信代价定位两个副本之间的数据差异。本文覆盖树的构建算法、差异定位、网络传输优化,以及在 Cassandra Repair、Git、Bitcoin 中的不同应用方式,并深入分析节点宕机恢复、数据损坏等异常场景。 相关文章:CRDT(无冲突复制数…

8. 分布式算法 #08:Byzantine 容错(BFT/PBFT)

> 拜占庭容错(Byzantine Fault Tolerance)解决的是更严酷的故障模型:节点不仅可以崩溃,还可以发送错误、矛盾、甚至恶意构造的消息。本文深入 PBFT 的三阶段协议伪代码,分析 7 种拜占庭攻击异常,并证明为什么需要至少 3f+1 个节点才能容忍 f 个拜占庭节点。 相关文章:Paxos 算法 ·…

9. 分布式算法 #09:Hybrid Logical Clock(HLC)

> Hybrid Logical Clock(HLC)是 CockroachDB、YugabyteDB 等 NewSQL 数据库采用的时间戳方案,将物理时钟的直觉性与逻辑时钟的因果正确性融合在一起,在不依赖专有硬件(如 Google TrueTime)的前提下实现接近物理时间的事务排序。 相关文章:向量时钟与因果一致性…