致知录
第 XXXIV 卷 · 第 406 篇 · Concept Fables · 1970.01.01

断链时的两难

概念寓言 · 1970.01.01 · 1 分钟阅读 · 317 字
目录 · 2
分区之下,不能既要正确、又要通畅

商号的账本一式三份,分藏三座远城。一日地震,中间那座城的驿路断了,三城一时对不上话。总号面临两难:要么照旧用另两城的账本作答——可那座断联的城里或许刚存进一笔钱没传过来,答了便是旧数,要出错;要么干脆贴出暂停对账,等三城重连再算——账是准了,可客商眼巴巴等着,生意全停了。断联的那一刻,总号发现:自己没法既要永远不错,又要永远不停。它最终选了后者,赌那笔迟到的钱不大。

揭示

这则故事想说的概念是:CAP 定理(CAP Theorem)。

英文定义(CAP Theorem):The CAP theorem states a distributed system cannot simultaneously guarantee consistency, availability, and partition tolerance; under a network partition it must trade C for A or vice versa.

它属于哪个领域:分布式系统(Distributed Systems)

CAP 定理是分布式数据库设计的根基,指导一致性与可用性的权衡。

故事里的隐喻对应什么

  • 断链时二选一 → 分区下一致性 vs 可用性
  • 用旧值继续答 vs 拒答等齐 → CP 与 AP 的取舍
  • 断联时不能既要准又要通 → CAP:分区下 C 与 A 不可兼得