CAP定理
CAP定理
1. 什么是CAP定理呢?
CAP定理是指在一个分布式系统中,一致性(Consistency),可用性(Availability),分区容错性(Partition Tolerance)三者不可兼得。
- 一致性:分布式系统中多个主机之间是否能够保持数据一致性。就是,当系统数据更新操作后,各个主机之间仍然处于一致的状态。
- 可用性:系统提供的服务必须一直处于可用的状态,就是对于用户的每一个请求,系统总是可以在有限的时间内对用户进行响应。
- 分区容错性:分布式系统在遇到任何网络分区故障时,仍然保证对外提供满足一致性和可用性的服务。
而对于分布式系统来说,完网络环境相对时不可控的,出现网络分区的不可避免的,因此系统必须具备分区容错性。但是不能同时保证一致性和可用性,要么CP,要么AP。这就是CAP定理。
2. BASE理论
BASE是基本可用,软状态,最终一致性三个短语的缩写。BASE是对CAP中一致性和可用性权衡的结果。其中源于大规模互联网分布式实践的结论,是基于CAP定理演化而来。
BASE理论的核心就是,即使无法做到强一致性,但是可以根据每个业务的特点,采用适当的方式达成最终一致性。
- 基本可用:在分布式出现不可预知的故障时,允许损失部分可用性。
- 软状态:允许系统数据存在的中间状态,时一种灰度状态,过度状态。
- 最终一致性:经过一段时间后,最终达到一致的状态。
3. CAP的应用
- Zookeeper与CAP:CP模式
- Consul与CAP:CP模式
- Redis与CAP:AP模式
- Eureka与CAP:AP模式
- Nacos与CAP:默认AP,也支持CP
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Chu_Yu-blog!






