分布式系统寓言集

Parables of Distributed Systems

以寓言讲述分布式系统中的研究生水平核心概念。
十四则故事,分二卷。每一则先以寓言呈现,读者至故事末方渐悟其所指;故事之后,再以技术解析详明其理。

前卷

Book I

共识、一致性、状态——系统之所成。

  1. 流银之国

    分布式快照算法Chandy–Lamport Distributed Snapshot

    从前,在河谷之间有一个王国,名叫流银。这里商贾云集,城邑之间日夜奔驰着无数快马信使,驮着沉甸甸的银袋往来交易。银子从一城流向另一城,…

    约 5 分钟
  2. 万香谱

    CRDT 与强最终一致性Conflict-Free Replicated Data Types

    在南洋诸岛之间,有七座小岛,岛上各有一座"香肆"——调香师世代居于此。每当有商船带来一种新的花瓣、木屑、果皮,香肆中的老师傅便会亲手蒸馏,…

    约 5 分钟
  3. 守夜人誓约

    拜占庭容错Byzantine Fault Tolerance

    北境雪原之上有一座古老的城堡,名曰寒垣。城堡外是无垠的荒野,荒野之中时有异兽出没。城中住着一百零一位守夜人,彼此以誓约为纽带,世代戍守。

    约 5 分钟
  4. 两座钟楼

    CAP 定理The CAP Theorem

    在阿尔卑斯山深处的一条峡谷里,住着两座相邻的小镇:东镇与西镇。两镇之间隔着一道幽深的峡谷,谷上横着一座独木吊桥,吊桥年久失修,…

    约 5 分钟
  5. 两个抄经人

    原子性与隔离性Atomicity & Isolation in ACID

    在敦煌莫高窟的深处,有一间幽暗的经堂。堂中终年燃着两盏油灯,灯下坐着两位老抄经人——东龛的慧明与西龛的慧远。…

    约 6 分钟
  6. 传灯人

    Paxos 与 Raft 共识Paxos & Raft Consensus

    在江南水乡,有一种古老的行当,称作传灯人。每逢除夕之夜,万家灯火将次第燃起,而最早的那一盏"母灯",必须由宗祠的长者亲手点燃,…

    约 8 分钟
  7. 九叠屏

    分层索引与分布式哈希表Hierarchical Indexing & DHT

    在宋朝,汴梁有一位深居简出的画匠,名叫周子安。周子安以画山水著称,但他的名作从不示人,只绘于九叠屏风之上,藏于自家书斋深处。

    约 8 分钟
  8. 河伯调水

    可观测性与自适应调节Observability & Adaptive Load Shedding

    古时黄河岸边有一座河神庙,庙中供奉的是一位年轻的河伯。这位河伯并非传说中那威严的老者,而是个相貌清秀的少年神祇,日日坐在庙中,…

    约 9 分钟
  9. 两位信使

    消息传递语义Message Delivery Semantics

    在古代波斯,有一座横跨丝绸之路的驿城,名曰帕萨尔加德。驿城之中设有一座信使总部,专司将大汗的诏令送往帝国各地——从西陲的拜占庭边境,…

    约 9 分钟
  10. 玉匣

    不可篡改的分布式账本Immutable Distributed Ledgers

    在大唐开元年间,长安城中有一位名扬天下的玉匠,姓苏,人称苏老玉匠。苏老玉匠一生所做之物,只有一样——玉匣。

    约 12 分钟

续卷

Book II

时间、信息流动、协调的边界——系统之所基。

  1. 十一

    时辰簿

    逻辑时钟与因果序Logical Clocks & Causal Order

    唐贞观年间,朝廷设有太史局,下辖七处史馆,分置于长安、洛阳、成都、广陵、幽州、凉州、交州。每馆各有一位史官,日日执笔,…

    约 11 分钟
  2. 十二

    传谣记

    流言协议与反熵Gossip Protocols & Anti-Entropy

    宋徽宗时,汴京城中有一茶肆,名"清风茗"。清风茗之主人乃一老者,姓沈。沈老汉年过七旬,鬓发皆白,终日坐在茶肆门前一张旧藤椅上,…

    约 10 分钟
  3. 十三

    两位将军

    协调的不可能性The Two Generals Problem

    战国末年,秦将王翦率大军攻楚。楚地广袤,楚将项燕以主力驻郢城南面的云梦泽中,凭借湖沼之险据守。

    约 10 分钟
  4. 十四

    旧符新令

    栅栏令牌与脑裂防御Fencing Tokens & Split-Brain

    汉元狩年间,边郡朔方设一军镇,常年驻军万人,抵御匈奴。军镇之主为镇守使,由朝廷委派。镇守使持一方**铜印虎符**,…

    约 12 分钟