CAP理论是分布式计算系统的一个基本定理。它表述了一个分布式网络中最多只能满足以下三项指标中的两项:
- Consistency 一致性
- Availability 可用性
- Partition tolerance 分区容忍性
现分别描述这三项指标的含义,以及为什么不能同时满足这三项指标。
描述:
- Consistency 一致性。各个计算单元中的数据保证是一致。
- Availability 可用性。在一定时间内,外部的请求一定能得到响应。
- Partition tolerance 分区容忍性。两个计算单元间的通讯可以失败。
为什么不能同时满足?
网络的通讯可能中断,不能保证两个计算单元永远保持联系,所以Partition tolerance一定得满足。故现在只要证明Consistency和Availability不能同时满足就行了。
假设两个计算单元通过网络来保证强一致性,当网络出现故障,计算单元间的数据无法同步。
- 死等数据同步,再进行响应(保证一致性,损失可用性)。
- 立即响应,不管数据同步问题(保证可用性,损失一致性)。
注意:这三个指标不能在所有时间满足,但是他们大部分时间是满足的,因为一般情况下网络是通畅的。