I'm using JHipster version 4.6.2 on my gateway. I have a JHipster registry and two instances of the same microservice. In the JHipster registry I can see that the gateway and both microservice instances are registered properly. I can configure, see health and so on. In short all is working fine.
The microservice was created with a newer JHipster version (4.11.1). Both the gateway and microservices seem to co-operate well. For example the default (generated) user interface on gateway is capable to fetch data (entities) from microservices. On gateway I just use the logic that Jhipster generated for me to fetch data from microservice. I can see in the logs that calls are routed to both microservice instances.
The issue that I'm facing is that when I shutdown one microservice instance the gateway still sometimes tries to route the the service call to the microservice instance that is already shutdown. Of course after some time all service calls are routed properly just to the correct/running microservices instance. But sometimes right after shutting down one microservices instance the call might be routed to the "wrong" instance.
I expected that components like ribbon, zuul and eureka would automatically try other microservice instance if the service call to the first microservice instance fails. Is my expectation correct? Should Jhipster "microservices platform" automatically retry the service call against other registered microservice instance?
If by default retrying is not supported, what should I do to make it happen?