memcached session manager
memcached-session-manager is a tomcat session manager that keeps sessions in memcached or Redis, for highly available, scalable and fault tolerant web applications. It supports both sticky and non-sticky configurations, and is currently working with tomcat 6.x, 7.x, 8.x and 9.x. For sticky sessions session failover (tomcat crash) is supported, for non-sticky sessions this is the default (a session is served by default by different tomcats for different requests). Also memcached failover (memcached crash) is supported via migration of sessions. There shall also be no single point of failure, so when a memcached fails the session will not be lost (but either be available in tomcat or in another memcached).
Installation and Configuration
Basically you must put the spymemcached jar and the memcached-session-manager jars into tomcat's lib folder. If you want to use Redis instead of memcached, you need the jar of the Redis client "jedis" instead. Additionally you must set the Manager class and add some configuration attributes. This is described in detail in the SetupAndConfiguration wiki page.
Where to get help
Checkout the wiki for documentation, contact the mailing list or submit an issue.
How to contribute
If you want to contribute to this project you can fork this project, make your changes and submit a pull request. Or you start on the mailing list and we'll see how we can work together.
Samples
There's sample webapp that allows to run tomcat+msm in different configurations, both sticky and non-sticky etc, just checkout the README.
License
The license is Apache 2.0, see LICENSE.txt.