EnableEurekaClient와 EnableDiscoveryClient의 차이점은 무엇입니까?


104

일부 응용 프로그램에서 사람들이 EnableEurekaClient를 사용하는 것을 보았습니다. 그리고 일부 다른 예제 응용 프로그램은 EnableDiscoveryClient를 사용하고 있습니다.

이 둘 사이에 차이점이 있습니까?

답변:


179

"검색 서비스"(유레카, 영사 , 사육사 )의 여러 구현이 있습니다 . @EnableDiscoveryClient에 살고있는 스프링 클라우드 공유지 및 클래스 패스에 구현을 선택합니다. spring-cloud-netflix에@EnableEurekaClient 거주하며 유레카에서만 작동합니다. 유레카가 클래스 경로에 있으면 사실상 동일합니다.


질문 : 위에서 언급 한 두 주석 모두 RestTemplate에 삽입 된 리본 지원 인터셉터를 활성화합니까? 행동에 차이가 있습니까? 이전 Spring Cloud 구현에서는 @LoadBalanced자동으로 적용되었지만 현재 버전에서는 명시 적으로 필요합니다. 감사합니다.
fg78nc

1
예. 다른 점이 없다. 부하 분산 된 주석은 오랫동안 필요했습니다.
spencergibb

4
누군가가 더 일반적인 @EnableDisocveryClient보다 @EnableEurekaClient를 사용하려는 이유는 무엇입니까? 그렇게하면 유레카 구현에 묶여 향후 SD 백엔드를 전환하기가 더 어려워지지 않을까요?
Adam Hughes

3
예. 유일한 대답은 그들이 명확하고 유레카를 시행하려는 경우입니다.
spencergibb

3

Spring Cloud의 Discovery 서비스 개념은 Eureka, consul, zookeeper 등과 같은 다양한 방식으로 구현됩니다. Netflix의 Eureka를 사용하는 경우 @EnableEurekaClient가 특히 적합합니다. 그러나 Eureka를 포함한 다른 서비스 검색을 사용하는 경우 @EnableDiscoveryClient를 사용할 수 있습니다.


1

실용성과 단순성 측면에서 등록 된 센터가 유레카 인 경우 @EnableEurekaClient권장됩니다. 다른 등록 센터 인 @EnableDiscoveryClient경우 권장됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.