1. 程式人生 > >@EnableDiscoveryClient與@EnableEurekaClient區別

@EnableDiscoveryClient與@EnableEurekaClient區別

1,@EnableDiscoveryClient註解是基於spring-cloud-commons依賴,並且在classpath中實現; 
2,@EnableEurekaClient註解是基於spring-cloud-netflix依賴,只能為eureka作用;

其實用更簡單的話來說,就是如果選用的註冊中心是eureka,那麼就推薦@EnableEurekaClient,如果是其他的註冊中心,那麼推薦使用@EnableDiscoveryClient。

下文是從stackoverflow上面找到的對這兩者的解釋

There are multiple implementations of "Discovery Service" (eureka, consul, zookeeper). 
@EnableDiscoveryClient lives in spring-cloud-commons and picks the implementation on the classpath.  
@EnableEurekaClient lives in spring-cloud-netflix and only works for eureka. If eureka is on your classpath, they are effectively the same.

@EnableDiscoveryClient

@EnableEurekaClient

註解@EnableEurekaClient上有@EnableDiscoveryClient註解,
可以說基本就是EnableEurekaClient有@EnableDiscoveryClient的功能,
另外上面的註釋中提到,其實@EnableEurekaClient註解就是一種方便使用eureka的註解而已,
可以說使用其他的註冊中心後,都可以使用@EnableDiscoveryClient註解,
但是使用@EnableEurekaClient的情景,就是在服務採用eureka作為註冊中心的時候,使用場景較為單一。