CAP 定理:分布式系统的权衡

理解分布式系统中的 CAP 定理及其实践应用

CAP 定理

CAP 定理指出,分布式系统最多只能同时满足以下三个特性中的两个:

一致性 (Consistency)

所有节点在同一时间看到相同的数据。

可用性 (Availability)

每个请求都能得到响应(成功或失败),保证系统持续服务。

分区容错性 (Partition Tolerance)

系统在网络分区的情况下仍能继续运行。

三种权衡组合

组合说明典型系统
CA放弃分区容错单机数据库(RDBMS)
CP放弃可用性HBase, MongoDB, Redis
AP放弃强一致性Cassandra, DynamoDB

BASE 理论

CAP 的替代方案:

  • Basically Available:基本可用
  • Soft state:软状态
  • Eventually consistent:最终一致性

总结

在设计分布式系统时,需要根据业务场景选择合适的权衡:

  • 金融交易:优先保证一致性(CP)
  • 社交媒体:优先保证可用性(AP)