Spring Cloud 教程

Spring Cloud 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/spring_cloud-difference-between-enableeurekaclient-and-enablediscoveryclient.html

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 注解。

Lombok插件有三种生成不同构造器的注解,它们分别是@NoArgsConstructor、@RequiredArgsConstructor ...
@NoArgsConstructor和@AllArgsConstructor是Lombok库中的两个常用注解,它们用于自动生成无参构造函数和 ...
@Getter和@Setter是两个常用的Lombok注解,它们用于自动生成Java类中属性字段的getter和setter方法。SOURC ...
Spring @Value 注解用于为变量和方法参数分配配置值或默认值。@Value 注解可以读取 spring 环境变量和系统变量,也可以 ...
Spring 依赖注入方式主要有 2 种,一是通过 @Autowire、@Resource 等注解注入,二是通过构造器的方式进行依赖注入。除 ...