EnableEurekaClientとEnableDiscoveryClientの違いは何ですか?


104

一部のアプリケーションでは、人々がEnableEurekaClientを使用しているのを見ました。また、他のいくつかのサンプルアプリケーションは、EnableDiscoveryClientを使用しています。

これら2つの間に違いはありますか?

回答:


179

"Discovery Service"の実装は複数あります(eureka、consulzookeeper)。 @EnableDiscoveryClient住んでいる春クラウド・コモンズとクラスパス上の実装を選びます。 spring-cloud-netflixに@EnableEurekaClient住んでおり、eurekaでのみ機能します。エウレカがクラスパス上にある場合、それらは事実上同じです。


質問:上記の両方のアノテーションにより、RestTemplateに挿入されたリボン対応のインターセプターが有効になりますか?行動に違いはありますか?以前のSpring Cloudの実装で@LoadBalancedは自動的に適用されていましたが、現在のバージョンでは明示的に必須であることに気付きました。ありがとうございました。
fg78nc

1
はい。違いはありません。ロードバランスされたアノテーションは長い間必要とされてきました。
spencergibb 2018年

4
なぜ誰かがより一般的な@EnableDisocveryClientよりも@EnableEurekaClientを使用したいのですか?それらをeureka実装にバインドし、将来SDバックエンドを切り替えるのを難しくしませんか?
アダムヒューズ

3
はい。唯一の答えは、彼らが明確でユーレカを強制したいかどうかです。
spencergibb

3

Spring Cloudのディスカバリーサービスの概念は、Eureka、領事、動物園の飼育係など、さまざまな方法で実装されます。NetflixでEurekaを使用している場合は、@ EnableEurekaClientがそのためのものです。ただし、Eurekaを含む他のサービスディスカバリを使用している場合は、@ EnableDiscoveryClientを使用できます。


1

その実用性とシンプルさの観点から、登録されたセンターがユーレカなら、それ@EnableEurekaClientが推奨されます。別の登録センターなら@EnableDiscoveryClientお勧めです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.