1. 程式人生 > >springcloud @EnableDiscoveryClient註解作用

springcloud @EnableDiscoveryClient註解作用

相信熟悉Spring Cloud的讀者對註解@EnableDiscoveryClient 及@EnableEurekaClient 並不陌生。
要想將一個微服務註冊到Eureka Server(或其他服務發現元件,例如Zookeeper、Consul等),Eureka 2.0閉源之後,Consul慢慢會成為主流。

搭建Eureka 伺服器十分簡單,步驟如下:

  1. 新增Eureka Client(或其他服務發現元件的Client)依賴:
    <dependency>
	  <groupId>org.springframework.cloud</groupId>
	  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
	</dependency>

     2. 寫註解:在啟動類上添加註解@EnableDiscoveryClient 或@EnableEurekaClient

@EnableDiscoveryClient
@SpringBootApplication
public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class, args);
  }
}

配置檔案 application.properties內容:

server.port=8080

eureka.instance.hostname=127.0.0.1
# 是否向服務中心註冊自己
eureka.client.register-with-eureka=false
# 是否檢索服務
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

從Spring Cloud Edgware開始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略。只需加上相關依賴,並進行相應配置,即可將微服務註冊到服務發現元件上。
@EnableDiscoveryClient和@EnableEurekaClient共同點就是:都是能夠讓註冊中心能夠發現,掃描到改服務。
不同點:@EnableEurekaClient只適用於Eureka作為註冊中心,@EnableDiscoveryClient 可以是其他註冊中