Load-balancing, with NO HttpSession

Hello All,

I’ve come accross with Vaadin recently, and, honestly, I liked it! Now, I’m trying to learn Vaadin to implement our new project with it. But, to achieve this, I must show to my superiors that Vaadin can be integrated smoothly with our current technologies.

We use a custom session management, which is independent from the App Server’s session interface (we disable Tomcat sessions). In front of our servers, we have load balancer and they are just simply redirecting the request in round-robin format (with NO sticky sessions). As far as I understood from the documentation, Vaadin treats the application as a HttpSession object. So, now, does Vaadin work correctly on our Tomcats with disabled sessions? If not, within a load-balanced environment with no sticky-sessions and no session replication, does the application work correctly when consequent requests fall to different servers (user authentication is handled with our custom solution) ?

Thanks in advance,
Eren

That’s right. Vaadin relies on the server-side state stored in a HttpSession instance.

Well, I would say no, but the Google AppEngine approach proves me wrong.

It is lacking the sticky HttpSession and doing something similar that you describe. What we have there is a custom application (session) serialization when the actual HttpSession is not available. You must do the same and somehow implement the application state management (i.e. sessions) on the server, to make the users UI state available for Vaadin requests/events.

Generally, I’d say this means you are better off with sticky sessions and load balancing on top of that, but it’s doable.