在某些应用程序中,我看到人们正在使用 EnableEurekaClient。其他一些示例应用程序正在使用 EnableDiscoveryClient。
这两者有什么区别吗?
在某些应用程序中,我看到人们正在使用 EnableEurekaClient。其他一些示例应用程序正在使用 EnableDiscoveryClient。
这两者有什么区别吗?
“发现服务”有多种实现(eureka、consul、zookeeper)。 @EnableDiscoveryClient
生活在spring-cloud-commons中并在类路径中选择实现。 @EnableEurekaClient
住在spring-cloud-netflix中,仅适用于 eureka。如果 eureka 在你的类路径上,它们实际上是相同的。
Spring Cloud 中的发现服务概念以不同的方式实现,例如 Eureka、consul、zookeeper 等。如果您使用的是 Netflix 的 Eureka,那么 @EnableEurekaClient 就是专门为此而设计的。但是,如果您正在使用任何其他服务发现,包括 Eureka,您可以使用 @EnableDiscoveryClient。
就其实用性和简洁性而言,如果注册中心是eureka,那么@EnableEurekaClient
推荐。如果是其他注册中心,@EnableDiscoveryClient
推荐。
@EnableEurekaCient 将使用 eureka 服务器初始化服务发现,就像明确指定使用 EUREKA
而@EnableDiscovery Client 将使用类路径中可用的 jar 注册 dicovery 服务,如 consul、Eureka、Kubernetes。
@EnableEurekaClient 仅适用于 Eureka 如果我们使用 @EnableDiscoveryClient 我们可以使用除 Eureka 之外的任何发现客户端,如 Consul