著名的 CAP 理论指出,一个分布式系统不可能同时满足 C(一致性) A(可用性) 和 P(分区容错性).由于分区容错性 P 是在分布式系统中必须保证的,因此我们只能在 A 和 C 之间进行权衡. Zookeeper 保证的是 CP, 当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务器直接 DOWN 掉不可用. 也就是说, 服务注册功能对可用性要求高于一致性.但是 Zookeeper 会出现这样一种情况,当 master 节点因为网络故障和其他节点失去…