跳到主要内容
uencoder

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

相关词条

参考链接