CAP Theorem
CAP 定理指出分布式系统在网络分区时只能满足一致性(C)或可用性(A)二者之一,三者不可兼得。
用途
揭示分布式系统的根本取舍,指导数据存储选型。
机制
一致性(所有节点同视图)、可用性(每个请求有响应)、分区容忍(网络分区仍运行)。网络分区不可避免,故实际在 CP(强一致)与 AP(高可用)间选。CP 如 ZooKeeper、Spanner;AP 如 Cassandra、DynamoDB。
用例
- 分布式存储选型
- 微服务数据架构
- 多区域部署策略
- 一致性 vs 可用性权衡
示例
- 输入
During a network partition输出Choose C (reject inconsistency) or A (allow it)CP vs AP
常见错误
- Believing all three of CAP can be satisfied simultaneously
- Partitions are unavoidable; choose between CP and AP