What is "Session Migration" ?

Ryan Breidenbach

In the context of JSPs, this would be the mechanism of moving sessions from on server to another in case of server failure. The two most common ways of implementing this are:

  • Persisting the sessions, typically to a database
  • Storing the sessions in-memory on multiple servers, typically a primary server and a backup server
In the first case, as session information is changed, the session data is persisted to a database accessible by all servers. If on server fails, all other servers can access the session data the failed server was managing.

In the latter case, all session data is redundantly stored in-memory on multiple servers within a cluster. The session state is replicated in-memory between servers within a cluster using IP multicasting. In this case, if one server crashes, its backup server now becomes the primary server for all sessions the failed server was maintaining.

In either situation, this type of session management allows for server failure without losing users' state.