Я использую JHipster версии 4.6.2 на своем шлюзе. У меня есть реестр JHipster и два экземпляра одного и того же микросервиса. В реестре JHipster я вижу, что шлюз и оба экземпляра микросервиса зарегистрированы правильно. Могу настроить, посмотреть здоровье и тд. Короче все работает нормально.
Микросервис был создан с помощью более новой версии JHipster (4.11.1). И шлюз, и микросервисы, похоже, хорошо взаимодействуют. Например, пользовательский интерфейс по умолчанию (сгенерированный) на шлюзе способен извлекать данные (объекты) из микросервисов. На шлюзе я просто использую логику, сгенерированную для меня Jhipster, для получения данных из микросервиса. В журналах я вижу, что вызовы направляются в оба экземпляра микросервиса.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я закрываю один экземпляр микросервиса, шлюз все еще иногда пытается направить вызов службы к экземпляру микросервиса, который уже отключен. Конечно, через некоторое время все вызовы сервисов правильно маршрутизируются только на правильный / работающий экземпляр микросервисов. Но иногда сразу после завершения работы одного экземпляра микросервисов вызов может быть перенаправлен на «неправильный» экземпляр.
Я ожидал, что такие компоненты, как лента, zuul и eureka, автоматически попробуют другой экземпляр микросервиса, если вызов службы к первому экземпляру микросервиса завершится неудачно. Мои ожидания верны? Должна ли Jhipster «платформа микросервисов» автоматически повторять вызов службы для другого зарегистрированного экземпляра микросервиса?
Если по умолчанию повторная попытка не поддерживается, что мне делать, чтобы это произошло?