2016-12-22 1 views
0

J'utilise Spring Cloud dans un conteneur docker, j'ai donc un serveur Eureka dans un conteneur et un client Eureka dans un autre conteneur. Mon problème est que l'ordre dans lequel les conteneurs démarrent, si le client démarre avant le serveur eureka, alors je reçois beaucoup d'exceptions dans le journal, par exemple.Spring Cloud Eureka Client

config-service_1 | 2016-12-22 19:12:16.621 WARN 1 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_CONFIG-SERVICE/e0453b771ca0:config-service:8888 - registration failed Cannot execute request on any known server 
config-service_1 | 
config-service_1 | com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 

Une fois le serveur eureka démarre alors le client enregistre avec succès, est cependant il un moyen de configurer le client de ne pas manquer de cette façon et remplir les journaux avec des exceptions, peut-il échouer en silence?

+0

Pas que je sache. Ce ne sont que des avertissements, pas des erreurs. – spencergibb

+0

Peut-être essayer https://docs.docker.com/compose/startup-order/ – Jeff

Répondre

0

C'est normal. Parce qu'une fois votre client démarré, il va essayer de se connecter au serveur eureka spécifié dans votre configuration et s'enregistrer. Donc, il continuera à réessayer jusqu'à ce que le serveur eureka est en place et peut être connecté avec succès. Par conséquent, je ne pense pas que ce genre de message soit une exception mais un avertissement. Même si vous démarrez séquentiellement eureka server et vos clients, vous ne pouvez pas vous assurer que celui qui sera prêt à être accédé en premier s'il y a beaucoup de logique dans le serveur eureka.