分布式事务为何成了架构师的噩梦——从两阶段提交到Saga模式的技术权衡

1978年,图灵奖得主Jim Gray在《Notes on Data Base Operating Systems》中正式描述了两阶段提交协议(Two-Phase Commit, 2PC)。这个协议的核心目标简单而直接:让分布在不同机器上的多个数据库,能够像操作单一数据库一样实现"全有或全无"的原子性保证。 ...

15 min · 7231 words

Raft协议的"实现陷阱":为什么论文读懂了,代码却写不对

2014年,斯坦福大学的Diego Ongaro和John Ousterhout在USENIX ATC会议上发表了一篇题为《In Search of an Understandable Consensus Algorithm》的论文。这篇论文提出了Raft协议,声称比Paxos"更容易理解"。论文开篇直言:Paxos"非常难以理解",而Raft的设计目标就是提供"更好的可理解性"。 ...

15 min · 7104 words

分布式共识算法:从Paxos到Raft,为什么这个四十年前的问题依然重要

1985年,三位研究者Fischer、Lynch和Paterson发表了一篇论文,证明了一个令人沮丧的结论:在异步分布式系统中,即使只有一个进程可能崩溃,也不存在确定性的共识算法。这个被称为FLP不可能性定理的结果,并没有让分布式系统的发展停滞——相反,它催生了一系列优雅的工程解决方案。 ...

14 min · 6742 words