分布式与消息队列 · 单选题 · 第 59 题
Java 后端开发面试 · 第 59 题
关于 CAP 定理,下列理解正确的是?
- A发生网络分区时,一致性和可用性只能二选一
- B设计得当的分布式系统可以同时完全满足三者
- C任何时刻三者之中都只能满足其中一个
- D分布式系统可以选择放弃分区容错性
答案
A A. 发生网络分区时,一致性和可用性只能二选一
解析
网络分区在分布式系统中无法避免,所以 P 必须保证,真正的取舍发生在分区期间:要么拒绝部分请求保证一致(CP,如 ZooKeeper),要么继续服务、接受短暂不一致(AP,如 Eureka)。没有分区时,系统可以同时提供一致性和可用性。BASE 理论就是 AP 方向的工程实践。