@EnableDiscoveryClient和@EnableEurekaClient的区别
Posted whalesea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@EnableDiscoveryClient和@EnableEurekaClient的区别相关的知识,希望对你有一定的参考价值。
简单区分下,他们在功能上是一致的:写在启动类的上,开启服务注册发现功能。
不同的是,当注册中心不一样时,像:eureka、consul、zookeeper,使用是也有了区别。
EnableDiscoveryClient注解在common包中,通过项目的classpath来决定使用哪种实现,而EnableEurekaClient注解在netflix包中,只会使用eureka这种实现方式;
所以,使用EnableDiscoverClient,对任何注册中心都适用。而EnableEurekaClient是为eureka服务的。
springcloud的Dalston或更早期的版本EnableEurekaClient是包含EnableDiscoverClient注解的,这种情况使用什么已经没区别了。
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @EnableDiscoveryClient public @interface EnableEurekaClient { }
但是在之后版本,如Greenwich版本中是这样的:
package org.springframework.cloud.netflix.eureka; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface EnableEurekaClient { }
官网推荐使用:EnableDiscoveryClient
想详细了解可以看这篇博客:https://blog.csdn.net/boling_cavalry/article/details/82668480
以上是关于@EnableDiscoveryClient和@EnableEurekaClient的区别的主要内容,如果未能解决你的问题,请参考以下文章
springcloud中@EnableDiscoveryClient与@EnableEurekaClient的区别
@EnableDiscoveryClient和@EnableEurekaClient的区别
@EnableDiscoveryClient和@EnableEurekaClient的区别
EnableDiscoveryClient与EnableEurekaClient的作用和区别