LELexEdge词汇锋面
DevOps专业术语

CAP Theorem

CAP 定理 · 分布式系统的不可能三角

数据库网络
CAP-
定义
CAP TheoremDevOps领域的专业术语CAP 定理指出分布式系统在网络分区发生时,只能在一致性(C)和可用性(A)之间二选一。

最后更新:2026-03-18

什么是CAP Theorem?

CAP 定理指出分布式系统在网络分区发生时,只能在一致性(C)和可用性(A)之间二选一。这是理解分布式数据库设计取舍的基础理论。

  • 分布式系统的基础理论
  • C/A/P 三者最多满足两个
  • 网络分区时必须在 C 和 A 间取舍

CAP Theorem详解

CAP 定理由 Eric Brewer 在 2000 年提出:Consistency(一致性,所有节点看到相同数据)、Availability(可用性,每个请求都能得到响应)、Partition Tolerance(分区容错,网络分区时系统仍能运行)。由于网络分区不可避免,实际选择是 CP(如 ZooKeeper)或 AP(如 Cassandra)。现代系统通常在不同操作上做不同的 CAP 取舍。

CAP Theorem的应用场景

正式定义

分布式系统中一致性、可用性和分区容错性最多同时满足两个的定理

应用场景

  • 分布式数据库的设计决策
  • 微服务架构的一致性策略
  • 系统可用性和数据一致性的权衡

常见误区

  • CAP 不是说只能选两个,是网络分区时在 C 和 A 间选
  • CAP 是理论上限,实际系统可以在不同操作上做不同取舍
  • CAP 不考虑延迟,PACELC 定理是更完整的模型

实际案例

📌 CAP 的实际应用

DynamoDB 选择 AP(高可用优先),ZooKeeper 选择 CP(一致性优先),大多数系统根据业务场景在不同操作上做不同的 CAP 取舍。

CAP Theorem的参考来源

关于CAP Theorem的常见问题

CAP 定理说的是什么
分布式系统最多同时满足一致性(C)、可用性(A)、分区容错(P)中的两个,网络分区时必须在 C 和 A 之间选择。
CAP 定理在实际中怎么用
大多数系统选择 AP(高可用+最终一致)或 CP(强一致+可能不可用),根据业务需求权衡。