CAP 理论(CAP Theorem)是由计算机科学家 Eric Brewer 提出的一个关于分布式系统的基本理论。CAP 是指一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)这三个基本属性。根据 CAP 理论,在一个分布式系统中,不可能同时完全满足这三项属性,只能同时满足其中的两项。
CAP 理论的三个属性:
-
一致性(Consistency):
- 所有节点在同一时间看到的数据是一致的。也就是说,每次读操作都能返回最近的写操作结果。
- 举例:在一个银行系统中,如果用户 A 向用户 B 转账,无论哪个节点处理查询,都会立即看到转账后的最新余额。
-
可用性(Availability):
- 每个请求(无论读还是写)都会收到一个(非错误)响应,即使系统中存在部分节点失效。
- 举例:即使某些节点或网络出现故障,系统仍然可以响应客户端的请求。
-
分区容忍性(Partition Tolerance):
- 系统在遇到任意数量的网络分区故障后,仍然能够继续运作。
- 举例:在网络分区的情况下,系统仍然能够处理请求并保持部分功能可用。
CAP 理论的基本结论:
根据 CAP