2016-12-22 5 views
0

Я использую Spring Cloud в контейнере докеров, поэтому у меня есть сервер Eureka в одном контейнере и клиент Eureka в другом контейнере. Моя проблема в том, что порядок запуска контейнеров, если клиент запускается до сервера eureka, тогда я получаю много исключений в журнале, например.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 

После того как сервер эврика запускается, то клиент успешно регистрирует, однако есть способ настроить клиент не провалить таким образом, и заполнить журналы с исключениями, это может терпеть неудачу тихо?

+0

Не знаю, о чем я знаю. Это просто предупреждения, а не ошибки. – spencergibb

+0

Возможно, попробуйте https://docs.docker.com/compose/startup-order/ – Jeff

ответ

0

Это нормально. Поскольку после запуска вашего клиента он попытается подключиться к серверу eureka, указанному в вашей конфигурации, и зарегистрировать себя. Поэтому он будет продолжать повторять попытку до тех пор, пока сервер eureka не встанет и может быть успешно подключен.

Поэтому я не думаю, что такое сообщение является исключением, но предупреждением. Несмотря на то, что вы запускаете сервер eureka и ваши клиенты последовательно, вы не можете гарантировать, что с кем будет готово к доступу, если есть много логики на сервере eureka.

Смежные вопросы