Quelle est la différence entre EnableEurekaClient et EnableDiscoveryClient?

104

Dans certaines applications, j'ai vu des gens utiliser EnableEurekaClient. Et d'autres exemples d'applications utilisent EnableDiscoveryClient.

Y a-t-il une différence entre ces deux?

YongJiang Zhang
la source

Réponses:

179

Il existe plusieurs implémentations de "Discovery Service" (eureka, consul , gardien de zoo ). @EnableDiscoveryClientvit dans spring-cloud-commons et choisit l'implémentation sur le chemin de classe. @EnableEurekaClientvit dans spring-cloud-netflix et ne fonctionne que pour eureka. Si eureka est sur votre chemin de classe, ils sont effectivement les mêmes.

Spencergibb
la source
Question: Les deux annotations mentionnées ci-dessus activeront-elles l'intercepteur activé par le ruban injecté dans RestTemplate? Une différence de comportement? J'ai remarqué que dans les implémentations précédentes de Spring Cloud, @LoadBalancedc'était automatiquement appliqué, mais dans la version actuelle, cela est requis explicitement. Je vous remercie.
fg78nc
1
Oui. Il n'y a pas de différence. L'annotation à charge équilibrée est requise depuis longtemps.
spencergibb
4
Pourquoi quelqu'un voudrait-il utiliser @EnableEurekaClient sur le @EnableDisocveryClient plus général? Cela ne les lierait-il pas à l'implémentation eureka et ne rendrait-il pas plus difficile le changement de backends SD à l'avenir?
Adam Hughes
3
Oui. La seule réponse est de savoir s'ils veulent être clairs et faire respecter eureka.
spencergibb
3

Le concept de service de découverte dans Spring Cloud est implémenté de différentes manières comme Eureka, consul, gardien de zoo, etc. Si vous utilisez Eureka by Netflix, @EnableEurekaClient est spécifiquement pour cela. Mais si vous utilisez un autre service de découverte, y compris Eureka, vous pouvez utiliser @EnableDiscoveryClient.

Chinmay Biswal
la source
1

En termes de praticité et de simplicité, si le centre enregistré est eureka, alors il @EnableEurekaClientest recommandé. S'il s'agit d'un autre centre d'inscription, il @EnableDiscoveryClientest recommandé.

Méd Hassona El
la source