SpringCloud 注解 @EnableDiscoveryClient 及@EnableEurekaClient 异同

时间:2024-11-16 08:30:34

相信熟悉Spring Cloud的读者对注解@EnableDiscoveryClient 及@EnableEurekaClient 并不陌生。

要想将一个微服务注册到Eureka Server(或其他服务发现组件,例如Zookeeper、Consul等),Eureka 2.0闭源之后,Consul慢慢会成为主流。

只需:

1、添加Eureka Client(或其他服务发现组件的Client)依赖:

<dependency>
  <groupId></groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

2、写注解:在启动类上添加注解@EnableDiscoveryClient 或@EnableEurekaClient

@EnableDiscoveryClient
@SpringBootApplication
public class ProviderUserApplication {
  public static void main(String[] args) {
    SpringApplication.run(ProviderUserApplication.class, args);
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、写配置:

spring:
  application:
    name: microservice-provider-user
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

从Spring Cloud Edgware开始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略。只需加上相关依赖,并进行相应配置,即可将微服务注册到服务发现组件上。

共同点:都是能够让注册中心能够发现,扫描到改服务。

不同点:@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。