这是一个非常经典且重要的分布式系统面试题/架构选型题。 ZooKeeper、Eureka、Consul 和 Etcd 都可以用于服务发现(Service Discovery)和配置中心,但它们的设计理念、一致性模型(CAP)和适用场景有很大区别。 其中最核心的区别在于 CAP 理论 的取舍:Eureka 是 AP(保证可用性),而 ZooKeeper、Consul、Etcd 都是 CP(保证一致性)。 --- 1. 核心对比总结表 | 特性 | ZooKeeper | Eureka | Consul | Etcd | | :--- | :--- | :--- | :--- | :--- | | CAP 模型 | CP (一致性+分区容错) | AP (可用性+分区容错) | CP (一致性+分区容错) | CP (一致性+分区容错) | | 一致性协议 | ZAB (Paxos 变种) | 无 (Peer-to-Peer) | Raft | Raft | | 开发语言 | Java | Java | Go | Go | | 对外接口 | TCP (原生客户端) | HTTP (R...