Lukas, Hi Thanks for your comments. I fully understood the situation. By the way, is there anyway to synchronize states between two load balancers/reverse proxies? For example, consider a case in which two load balancers/reverse proxies are setup. At any given time, by failing one of the load balancers/reverse proxies, the other one should contain active user sessions, states, etc. which were present at the failed load balancer/reverse proxy. Is there any solution for this issue? Thanks again.
Warm Regards, Ali 2013/7/16 Lukas Tribus <luky...@hotmail.com> > Hi Ali, > > > > The big picture would be somehow storing the current state between the > > user and the web server (independent of the actual web application) so > > that it is restored (maintained) when one of the web servers goes down. > > Consider current authenticated user sessions, content posting, etc. When > > one of the active back-end web servers goes down, the logical connection > > between the user and the web application is lost; the main question is > how > > is it possible to restore this logical connection when the other back-end > > web server is used as a replacement by the load balancer? How is it > > possible to synchronize user sessions, file downloads, active logins, > etc. > > between two master/backup web servers so that the client never feels the > > switchover? > > Everything you are asking needs to be addressed on the application side (by > fully synchronizing the backends). > > The load-balancer/reverse proxy (even a Barracuda) can by definition *not* > do anything about this. > > What the load-balancer can do is to make sure a specific client always hits > the same backend. > > > Consider this: Bob is logged into your application, and HAProxy (or the > barracuda unicorn load-balancer) forwards all of Bob's requests to backend > server 1 (for example by using the cookie). > > Now backend server 1 fails completely. > > The load-balancer/reverse proxy may failover Bob to backend server 2 and > it will also maintain the cookie. But if backend server 2 doesn't know > howto handle Bob, because server 1 had the session data, then Bob has to > restart his session. > > If, on the other hand, backend server 1 and backend server 2 share the > same session data (or synchronize them somehow), then everything is > fine. > > But its not something a load-balancer can achieve, its your application > that has to do this. > > > > Regards, > > Lukas