Qual è la differenza tra EnableEurekaClient e EnableDiscoveryClient?


104

In alcune applicazioni, ho visto persone che usano EnableEurekaClient. E alcune altre applicazioni di esempio utilizzano EnableDiscoveryClient.

C'è qualche differenza tra questi due?

Risposte:


179

Ci sono più implementazioni di "Discovery Service" (eureka, console , guardiano dello zoo ). @EnableDiscoveryClientvive in spring-cloud-commons e sceglie l'implementazione sul classpath. @EnableEurekaClientvive in spring-cloud-netflix e lavora solo per eureka. Se eureka è sul tuo percorso di classe, sono effettivamente gli stessi.


Domanda: entrambe le annotazioni sopra menzionate abiliteranno l'interceptor abilitato alla barra multifunzione iniettato in RestTemplate? Qualche differenza nel comportamento? Ho notato che nelle precedenti implementazioni Spring Cloud @LoadBalancedveniva applicato automaticamente, ma nella versione attuale è richiesto esplicitamente. Grazie.
fg78nc

1
Sì. Non c'è differenza. L'annotazione del bilanciamento del carico è richiesta da molto tempo.
spencergibb

4
Perché qualcuno dovrebbe voler usare @EnableEurekaClient sul più generale @EnableDisocveryClient? Questo non li vincolerebbe all'implementazione di eureka e renderebbe più difficile cambiare backend SD in futuro?
Adam Hughes,

3
Sì. L'unica risposta è se vogliono essere chiari e far rispettare l'eureka.
spencergibb

3

Il concetto di servizio di discovery nel cloud primaverile è implementato in diversi modi come Eureka, console, guardiano dello zoo ecc. Se stai usando Eureka di Netflix, @EnableEurekaClient è specifico per questo. Ma se stai usando qualsiasi altro servizio di rilevamento, incluso Eureka, puoi usare @EnableDiscoveryClient.


1

In termini di praticità e semplicità, se il centro registrato è eureka, @EnableEurekaClientè consigliato. Se è un altro centro di registrazione, @EnableDiscoveryClientè consigliato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.