EnableEurekaClient 和 EnableDiscoveryClient 有什么区别?

问题描述 投票:0回答:5

在某些应用程序中,我看到人们正在使用

@EnableEurekaClient
。其他一些示例应用程序正在使用
@EnableDiscoveryClient

这两者有什么区别吗?

spring-cloud netflix-eureka
5个回答
238
投票

“发现服务”有多种实现(eureka、consulzookeeper)。

@EnableDiscoveryClient
位于 spring-cloud-commons 并选择类路径上的实现。
@EnableEurekaClient
位于 spring-cloud-netflix 中,仅适用于尤里卡。如果尤里卡在你的类路径上,它们实际上是相同的。


7
投票

Spring Cloud 中的发现服务概念以不同的方式实现,如 Eureka、consul、zookeeper 等。如果您使用 Netflix 的 Eureka,那么 @EnableEurekaClient 专门用于此目的。但如果您正在使用任何其他服务发现,包括 Eureka,您可以使用 @EnableDiscoveryClient。


3
投票

从实用性和简单性来说,如果注册中心是eureka,那么推荐

@EnableEurekaClient
。如果是其他报名中心,推荐
@EnableDiscoveryClient


3
投票

@EnableEurekaCient 将使用 eureka 服务器启动服务发现,就像显式指定使用 EUREKA

@EnableDiscovery Client 将使用类路径中可用的 jar 来注册发现服务,如 consul、Eureka、Kubernetes。


1
投票

@EnableEurekaClient 仅适用于 Eureka,如果我们使用 @EnableDiscoveryClient,我们可以使用除 Eureka 之外的任何发现客户端,如 Consul

© www.soinside.com 2019 - 2024. All rights reserved.