Skip to content
Go back

CAP定理

CAP定理

CAP 定理(CAP Theorem),又被称作布鲁尔定理(Brewer’s Theorem),是分布式计算领域的“宪法”。它指出,对于一个分布式计算系统,不可能同时满足以下三点,最多只能同时满足其中的两点

1. CAP 的三个指标


2. 为什么只能“三选二”?

由于网络分区(P)在分布式系统中是客观存在的必然(你无法保证网络 100% 连通),所以真正的选择题其实只有两种:CPAP

我们可以想象这样一个场景:你有两个数据库节点(节点 A 和 节点 B),它们之间的网线断了(发生了分区 P)。此时用户向节点 A 写入了新数据。


3. 进阶:PACELC 定理

随着技术发展,人们发现 CAP 过于简化了。因为网络并不会天天断(大部分时间 P 是不发生的)。于是有了更精细的 PACELC 定理

如果有分区(P),则在 AC 之间选; 否则(Else,正常运行时),在 L(Latency,延迟)和 C(Consistency,一致性)之间选。

这意味着,即使网络没断,为了追求极致的性能(低延迟),我们也往往会牺牲强一致性(比如使用异步复制)。

典型技术理解



Previous Post
commonjs和esm一处差别
Next Post
如何解决redis高并发客户端频繁time out?