栈 · spring cloud -> Eureka 服务注册与发现 · @EnableDiscoveryClient 与 @EnableEurekaClient 区别

本文来自其他文章

使用服务发现的时候提到了两种注解,一种为 @EnableDiscoveryClient,一种为 @EnableEurekaClient,用法上基本一致,今天就来讲下两者,下文是从stackoverflow上面找到的对这两者的解释:

There are multiple implementations of "Discovery Service" (eureka, consul, zookeeper).
@EnableDiscoveryClient lives in spring-cloud-commons and picks the implementation on the classpath.  
@EnableEurekaClient lives in spring-cloud-netflix and only works for eureka. If eureka is on your classpath, they are effectively the same.

原文来自 : What’s the difference between EnableEurekaClient and EnableDiscoveryClient?

意思也就是 spring cloud中discovery service 有许多种实现(eureka、consul、zookeeper等等),

@EnableDiscoveryClient 基于 spring-cloud-commons

@EnableEurekaClient 基于 spring-cloud-netflix

其实用更简单的话来说,就是如果选用的注册中心是 eureka,那么就推荐@EnableEurekaClient,如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient。

注解@EnableEurekaClient上 有 @EnableDiscoveryClient注解,可以说基本就是 @EnableEurekaClient 有 @EnableDiscoveryClient的功能,

另外上面的注释中提到,其实**@EnableEurekaClient**z注解就是一种方便使用eureka的注解而已,可以说使用其他的注册中心后,

都可以使用@EnableDiscoveryClient注解,但是使用@EnableEurekaClient的情景,就是在服务采用eureka作为注册中心的时候,使用场景较为单一。

@EnableEurekaClient

我们具体的对@EnableEurekaClient的源码看一下,如下:

/**
* Convenience annotation for clients to enable Eureka discovery configuration
* (specifically). Use this (optionally) in case you want discovery and know for sure that
* it is Eureka you want. All it does is turn on discovery and let the autoconfiguration
* find the eureka classes if they are available (i.e. you need Eureka on the classpath as
* well).
*
* @author Dave Syer
* @author Spencer Gibb
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@EnableDiscoveryClient
public @interface EnableEurekaClient {

}

 

@EnableEurekaClient和@EnableDiscoveryClient都是Spring Cloud中用于启用服务注册发现的注解。它们的区别在于: 1. @EnableEurekaClientEureka特有的注解,用于启动Eureka客户端。当使用Eureka作为注册中心时,推荐使用@EnableEurekaClient注解。应用启动后会自动注册Eureka Server,并完成服务治理。 2. @EnableDiscoveryClientSpring Cloud通用的注解,可以与Eureka、Consul等多种注册中心对接。当我们的微服务同时需要与多个注册中心集成时,需要使用@EnableDiscoveryClient注解。这样可以灵活切换注册中心,不仅限于Eureka。 可以说,@EnableEurekaClient是@EnableDiscoveryClient的一个具体实现。如果项目中只使用Eureka作为注册中心,那么使用@EnableEurekaClient更加方便和简单。但如果要切换到其他的注册中心,需要较大的改动。所以选择哪个注解取决于项目中使用的注册中心。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [@EnableEurekaClient和@EnableDiscoveryClient区别](https://blog.csdn.net/weixin_45606985/article/details/130936454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [eureka.zip](https://download.csdn.net/download/weixin_39595872/12591048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值