概念
CAP 是分布式系统的三个指标
- Consistency:一致性
- Availability:可用性
- Tolerance of network Partition:分区容忍性
一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。
核心理念
而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性(P)是我们必须需要实现的。所以我们只能在一致性(C)和可用性(A)之间进行权衡,没有分布式系统能同时保证这三点。
如果你关注的是一致性,那么您就需要处理因为系统不可用而导致的操作失败的情况,而如果您关注的是可用性,那么您应该知道系统的read操作可能不能精确的读取到 write 操作写入的最新值。因此系统的关注点不同,相应的采用的策略也是不一样的,只有真正的理解了系统的需求,才有可能利用好 CAP 理论。