Hi Vaadin experts,
a couple of years ago I discovered Vaadin and I really liked it, a year ago I discovered spring-boot and the microservice approach and I really like it. Now I would like to combine both.
I’m not thinking about a simple Vaadin spring-boot application (I’ve already created some) but I’m thinking of the spring-boot Netflix stack including spring-boot, Eureka, Hystrix, Ribbon and Zuul.
As far I understood the Neflix stack it is optimized for stateless backend communication: REST webservices in the backend, JS and HTML in the frontend. A request is routed by Zuul to any instance of the microservice, I read somewhere by default this is done in a round robin manner.
This works fine for a JS application but what about Vaadin? As far I know Vaadin needs the HTTP session to hold the application state. Using the Netflix stack - as designed - a request can be routed to any instance with a high chance the session is not available there.
spring-session may solve this by syncing the sessions among all Vaadin instances - but is this some kind of overhead? Is it recommended to implement sticky sessions in Zuul somehow?
How did you implement microservices using Vaadin where you can add / remove instances seamlessly?
Cheers,
Christoph