619 | CAP定理与BASE理论:分布式系统的"鱼和熊掌"
有个读者问我:“架构师老湿,分布式系统CAP我懂,但为什么Redis保证AP,ZooKeeper保证CP?我听着像玄学啊!”
别急,听我讲个故事。
一、CAP定理的前世今生
什么是CAP?
2000年,Eric Brewer教授在分布式计算研讨会上提出了一个猜想,两年后被Seth Gilbert和Nancy Lynch证明,这就是著名的CAP定理:
Consistency(一致性):读写操作要像单机一样原子
Availability(可用性):每次请求都能得到响应
Partition Tolerance(分区容错):系统能在网络分区时继续运行
CAP定理的核心:这三个特性,分布式系统最多只能同时满足两个。
CA ★ ← 不存在! / \ / \ / \ CP ← → AP (ZooKeeper) (Redis)