分布式系统寓言集
Parables of Distributed Systems
以寓言讲述分布式系统中的研究生水平核心概念。
十四则故事,分二卷。每一则先以寓言呈现,读者至故事末方渐悟其所指;故事之后,再以技术解析详明其理。
前卷
Book I共识、一致性、状态——系统之所成。
-
一
流银之国
分布式快照算法Chandy–Lamport Distributed Snapshot
从前,在河谷之间有一个王国,名叫流银。这里商贾云集,城邑之间日夜奔驰着无数快马信使,驮着沉甸甸的银袋往来交易。银子从一城流向另一城,…
-
二
万香谱
CRDT 与强最终一致性Conflict-Free Replicated Data Types
在南洋诸岛之间,有七座小岛,岛上各有一座"香肆"——调香师世代居于此。每当有商船带来一种新的花瓣、木屑、果皮,香肆中的老师傅便会亲手蒸馏,…
-
三
守夜人誓约
拜占庭容错Byzantine Fault Tolerance
北境雪原之上有一座古老的城堡,名曰寒垣。城堡外是无垠的荒野,荒野之中时有异兽出没。城中住着一百零一位守夜人,彼此以誓约为纽带,世代戍守。
-
四
两座钟楼
CAP 定理The CAP Theorem
在阿尔卑斯山深处的一条峡谷里,住着两座相邻的小镇:东镇与西镇。两镇之间隔着一道幽深的峡谷,谷上横着一座独木吊桥,吊桥年久失修,…
-
五
两个抄经人
原子性与隔离性Atomicity & Isolation in ACID
在敦煌莫高窟的深处,有一间幽暗的经堂。堂中终年燃着两盏油灯,灯下坐着两位老抄经人——东龛的慧明与西龛的慧远。…
-
六
传灯人
Paxos 与 Raft 共识Paxos & Raft Consensus
在江南水乡,有一种古老的行当,称作传灯人。每逢除夕之夜,万家灯火将次第燃起,而最早的那一盏"母灯",必须由宗祠的长者亲手点燃,…
-
七
九叠屏
分层索引与分布式哈希表Hierarchical Indexing & DHT
在宋朝,汴梁有一位深居简出的画匠,名叫周子安。周子安以画山水著称,但他的名作从不示人,只绘于九叠屏风之上,藏于自家书斋深处。
-
八
河伯调水
可观测性与自适应调节Observability & Adaptive Load Shedding
古时黄河岸边有一座河神庙,庙中供奉的是一位年轻的河伯。这位河伯并非传说中那威严的老者,而是个相貌清秀的少年神祇,日日坐在庙中,…
-
九
两位信使
消息传递语义Message Delivery Semantics
在古代波斯,有一座横跨丝绸之路的驿城,名曰帕萨尔加德。驿城之中设有一座信使总部,专司将大汗的诏令送往帝国各地——从西陲的拜占庭边境,…
-
十
玉匣
不可篡改的分布式账本Immutable Distributed Ledgers
在大唐开元年间,长安城中有一位名扬天下的玉匠,姓苏,人称苏老玉匠。苏老玉匠一生所做之物,只有一样——玉匣。
续卷
Book II时间、信息流动、协调的边界——系统之所基。
-
十一
时辰簿
逻辑时钟与因果序Logical Clocks & Causal Order
唐贞观年间,朝廷设有太史局,下辖七处史馆,分置于长安、洛阳、成都、广陵、幽州、凉州、交州。每馆各有一位史官,日日执笔,…
-
十二
传谣记
流言协议与反熵Gossip Protocols & Anti-Entropy
宋徽宗时,汴京城中有一茶肆,名"清风茗"。清风茗之主人乃一老者,姓沈。沈老汉年过七旬,鬓发皆白,终日坐在茶肆门前一张旧藤椅上,…
-
十三
两位将军
协调的不可能性The Two Generals Problem
战国末年,秦将王翦率大军攻楚。楚地广袤,楚将项燕以主力驻郢城南面的云梦泽中,凭借湖沼之险据守。
-
十四
旧符新令
栅栏令牌与脑裂防御Fencing Tokens & Split-Brain
汉元狩年间,边郡朔方设一军镇,常年驻军万人,抵御匈奴。军镇之主为镇守使,由朝廷委派。镇守使持一方**铜印虎符**,…