Spring Cloud 教程

Spring Cloud 笔记

Spring Cloud 的 @EnableDiscoveryClient 注解与 @EnableEurekaClient 的区别

Spring Cloud 笔记 Spring Cloud 笔记


Spring Cloud 中允许服务发现可以使用 @EnableDiscoveryClient 或 @EnableEurekaClient 注解,它们有什么区别呢?

区别

我们知道 Eureka 是类似 Zookeeper、Consul 的服务注册发现中心,顾名思义 @EnableEurekaClient 是针对使用 Eureka 作为服务注册中心时,而 @EnableDiscoveryClient 是通用的服务发现注解,它会根据 classpath 引入的情况自适应。

@EnableDiscoveryClient 是基于 spring-cloud-commons 包依赖,并且在 classpath 中实现。

@EnableEurekaClient 是基于 spring-cloud-netflix 包依赖,为 Eureka 其作用,同样如果在 classpath 中引入 Eureka,也会生效。

由于从 Eureka 2.0 开始闭源,建议使用 @EnableDiscoveryClient 注解。