I am working on a project that requires really high availability and my team is currently working on upgrading some infra-structure and software for a future release.
On
Take a look at Oracle Coherence with HTTP session management module Coherence*Web.
It is in-memory basically but can be more persistence through DB or other storages.
If you're using tomcat then memcached-session-manager would be an option. It's a custom session manager that replicates sessions via memcached and supports both sticky and non-sticky sessions: http:// code.google.com/p/memcached-session-manager
Cheers, Martin
You might want to look at Hazelcast and their HTTP Session Clustering feature