Skip to content

面试速答(先看这里)

**一句话结论:**Eureka的主要功能是实现服务注册中心,所以其实他的替代产品还挺多的,比如nacos、zk、consul等 。

60秒标准回答:

Spring Boot 3.x 移除了对 Java EE(Jakarta EE)旧 API(如 javax 包)的支持,而 Eureka 仍然依赖 javax.xml.bind 等 API, 因此官方不再维护 Eureka,并推荐其他方案

Eureka的主要功能是实现服务注册中心,所以其实他的替代产品还挺多的,比如nacos、zk、consul等

Nacos 是阿里巴巴开源的服务注册中心和配置中心。与Zookeeper不同的是,Nacos自带了配置中心功能,并提供了更多的可视化配置管理工具。Nacos的目标是成为一个更全面的云原生服务发现、配置和管理平台

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**Spring Boot 3.x 移除了对 Java EE(Jakarta EE)旧 API(如 javax 包)的支持,而 Eureka 仍然依赖 javax.xml.bind 等 API, 因此官方不再维护 Eureka,并推荐其他方案。
  • **要点2:**Nacos 是阿里巴巴开源的服务注册中心和配置中心。
  • **要点3:**Consul 是HashiCorp开源的服务注册中心和配置中心,提供了服务发现、健康检查、KV存储和多数据中心功能。
  • **要点4:**Zookeeper 是最早流行的开源分布式协调服务框架之一,同时也提供了分布式配置中心的功能。
  • **要点5:**TCP/HTTP/MYSQL/Client Beat

**记忆锚点:**Zookeeper → Consul → Eureka → Nacos → HTTP → Spring

追问准备:

  • 围绕「Zookeeper」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「Consul」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「Eureka」:底层原理是什么?使用时有哪些边界和常见坑?
  • 如果线上出现异常,你会如何定位、验证并规避?

典型回答 ​

Spring Boot 3.x 移除了对 Java EE(Jakarta EE)旧 API(如 javax 包)的支持,而 Eureka 仍然依赖 javax.xml.bind 等 API,因此官方不再维护 Eureka,并推荐其他方案。

Eureka的主要功能是实现服务注册中心,所以其实他的替代产品还挺多的,比如nacos、zk、consul等 。

📄 ✅注册中心如何选型?

打开文档:✅注册中心如何选型?

Nacos ​

📄 ✅什么是Nacos,主要用来作什么?

打开文档:✅什么是Nacos,主要用来作什么?

Nacos是阿里巴巴开源的服务注册中心和配置中心。与Zookeeper不同的是,Nacos自带了配置中心功能,并提供了更多的可视化配置管理工具。Nacos的目标是成为一个更全面的云原生服务发现、配置和管理平台。

Consul ​

Consul是HashiCorp开源的服务注册中心和配置中心,提供了服务发现、健康检查、KV存储和多数据中心功能。Consul提供了更丰富的健康检查和路由功能,同时也提供了丰富的API和Web UI。

Zookeeper ​

Zookeeper是最早流行的开源分布式协调服务框架之一,同时也提供了分布式配置中心的功能。Zookeeper以高可用、一致性和可靠性著称,但是需要用户自己来开发实现分布式配置的功能。

对比如下:

NacosEurekaConsulZookeeper
CAPCP+APAPCPCP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive
负载均衡权重/ metadata/SelectorRibbonFabio—
一致性算法Raft/DistroGossipRaftZAB
雪崩保护有有无无
访问协议HTTP/DNSHTTPHTTP/DNSTCP
跨注册中心同步支持不支持支持不支持
Spring Cloud集成支持支持支持支持
Dubbo集成支持不支持支持支持
K8s集成支持不支持支持支持