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


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

只需:



  • 添加Eureka Client(或其他服务发现组件的Client)依赖:
  • ​<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> ​
  • 写注解:在启动类上添加注解​​@EnableDiscoveryClient​​ 或​​@EnableEurekaClient​​​​@EnableDiscoveryClient@SpringBootApplication public class ProviderUserApplication { public static void main(String[] args) { SpringApplication.run(ProviderUserApplication.class, args); } } ​​写配置:
    ​spring: application: name: microservice-provider-user eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ ​​ 
  • 从Spring Cloud Edgware开始,​​@EnableDiscoveryClient​​ 或​​@EnableEurekaClient​​ 可省略。只需加上相关依赖,并进行相应配置,即可将微服务注册到服务发现组件上。
  • @EnableDiscoveryClient和@EnableEurekaClient共同点就是:都是能够让注册中心能够发现,扫描到改服务。
    不同点:​​@​​EnableEurekaClient只适用于Eureka作为注册中心,​​@EnableDiscoveryClient​​ 可以是其他注册中心。