Do I really need Session Replication?

I am working on a number of web projects for a firm. Most of the projects are about one or two pages of input and then doing a save to a mysql database. Very Basic projects. My SA's are pushing to try to get session replication working in JBoss but I don't really see any need for it and all of its overhead.

We need load balancing and clustering so if the server does go down we can move the new requests to the backup service but I am not to big in session replication.

This is very low volume projects. In my eyes what is the odds of a user being in the project as the server goes down on the one or two pages.

I need to convince the SAs that session replication is an un-necessary complication in this instance. I am looking for pros and cons of session replication so that I can better structure my argument.


It sounds to me like you're administrators are trying to provide a fault-tolerant environment so that if a single server goes offline the users will not experience any noticeable change. This may also be for maintenance reasons so that they can work on one of the servers while not affecting the others.

In this scenario the application and web server would have to provide some sort of abstracted session replication or cache to store session information in the event that the initial server responding goes offline.

Essentially this prevents your users from being dumped from the application and having to login again.

As John mentions above this really comes down to the business requirement, if High Availability is needed, you really have no choice in the matter. Either way, implementing session offloading to either the database or a distributed in-memory cache is not often a major overhead nor difficult to implement.

  • 2
    +1 - session replication across front-end nodes is trivial. If you're building an environment with multiple front end nodes and users get their sessions dropped when they move between nodes you've failed at User Experience design. The folks over at User Experience would tell you the same thing, while smacking you upside the head for inconveniencing your users.
    – voretaq7
    Dec 5 '12 at 15:04

This question goes back to a business argument for me - what are the application SLAs? If your SLA says you can take the 5 to 10 seconds to complete the failover to the secondary after the primary goes casters-up and force a session restart on the client, the drop-kick the replication effort. If your SLA says you have 0.5 seconds to recover from a failure and/or you aren't allowed to force a session restart, then let the SAs get replication working and use it.

"We need load balancing and clustering" suggests to me that your SLAs are such that you also need session replication, but that's just me reading into things.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.