Я отправляю запросы на отключение серверу eureka и его клиентам обнаружения одновременно с помощью их конечной точки привода / выключения.
Иногда случается, что клиент обнаружения пытается отправить пульс на сервер eureka после было инициировано отключение, а сервер eureka уже выключен. Затем выдает исключение
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getDelta(EurekaHttpClientDecorator.java:149)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$7.execute(EurekaHttpClientDecorator.java:152)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getDelta(EurekaHttpClientDecorator.java:149)
at com.netflix.discovery.DiscoveryClient.getAndUpdateDelta(DiscoveryClient.java:1085)
at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:967)
at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1473)
at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1440)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Как подавить сердцебиение во время выключения?
Версия:
- пружинная загрузка: 2.0.0.RELEASE
- стартер весеннего облака netflix eureka клиент: 2.0.0.BUILD-SNAPSHOT
Спасибо за помощь
РЕДАКТИРОВАТЬ
То, что я сейчас делаю, - это определение аспекта, который ищет, есть ли еще какие-либо приложения, зарегистрированные с состоянием 'UP' в eurekaserver, до того, как инициируется завершение работы eurekaserver. Сейчас я действительно удивлен, что не могу найти / привод / конечную точку на eurekaserver, несмотря на то, что он включен с
management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always