CAP定理(Consistency, Availability, Partition tolerance)是分布式系统设计的核心原则之一,由加州大学伯克利分校的Eric Brewer提出。它指出:在分布式系统中,一致性、可用性和分区容错性无法同时满足,最多只能满足其中两项

三大核心属性 📌

  1. 一致性(Consistency)
    所有节点在同一时间具有相同的数据视图。例如:银行转账操作需保证账户余额实时同步。

  2. 可用性(Availability)
    每个请求都能收到响应,不会出现服务不可用的情况。例如:电商系统需确保用户能随时下单。

  3. 分区容错性(Partition tolerance)
    系统在网络分区(部分节点无法通信)时仍能正常运行。例如:分布式数据库需容忍网络延迟或中断。

实际应用中的权衡 📈

  • CP系统:如传统关系型数据库,优先保证一致性和分区容错,但可能牺牲部分可用性(例如:写操作需等待确认)。
  • AP系统:如大型互联网应用,优先保证可用性和分区容错,但可能允许短暂的数据不一致(例如:缓存系统)。
  • CA系统:理论上理想状态,但实际分布式环境中难以实现,因为网络分区是必然存在的。

扩展阅读 🔗

CAP_定理