Java面试题更新 2026-08-05

请比较 Eureka、Zookeeper、Nacos 三种注册中心在功能、一致性模型、服务发现机制以及适用场景方面的主要差异。

技术原理技术选型方案权衡Nacos

考察说明

考查候选人对主流注册中心核心机制的理解与选型能力。

回答思路

  1. 【回答框架 1】Eureka 是 AP 系统,优先可用性,强调最终一致性;服务实例通过心跳续约,客户端主动拉取注册表并本地缓存,短时间不可用仍能基于缓存完成发现,适合需要高可用的场景。
  2. 【回答框架 2】Zookeeper 是 CP 系统,基于 ZAB 协议保证强一致性;服务注册采用临时节点,会话失效即删除,写入需多数派确认。当 Leader 选举时短暂不可用,适合对强一致要求高且读写规模可控的场景。
  3. 【回答框架 3】Nacos 同时支持 AP 和 CP 两种模式,默认 AP;AP 模式采用 Distro 协议,各节点复制数据,CP 模式基于 Raft。Nacos 提供更丰富的健康检查(HTTP、TCP、MySQL)以及配置管理能力,适合需要动态配置与注册中心统一的场景。
  4. 【回答框架 4】选型依据:若系统规模大、网络分区频繁且强调可用性,倾向 Eureka 或 Nacos AP;若对数据一致性要求极高(如金融交易),可考虑 Zookeeper 或 Nacos CP;同时需结合运维成本、生态集成和功能需求(如配置中心)。
  5. 【关键点 1】Eureka 强调 AP,客户端缓存拉取,心跳续约。
  6. 【关键点 2】Zookeeper 强调 CP,临时节点与ZAB协议,强一致但可用性受影响。
  7. 【关键点 3】Nacos 可切换 AP/CP,集成配置管理,支持多种健康检查。
  8. 【易错点 1】不能简单断言哪个更好,需根据业务一致性和可用性需求选型。
  9. 【易错点 2】Zookeeper 的临时节点依赖会话,网络分区时可能产生羊群效应或短时不可用。
  10. 【易错点 3】Nacos AP 模式并非强一致,极端情况下可能读到旧数据,需业务层面容忍。