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).
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.
Checkout the wiki for documentation, contact the mailing list or submit an issue.
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.
There's sample webapp that allows to run tomcat+msm in different configurations, both sticky and non-sticky etc, just checkout the README.
The license is Apache 2.0, see LICENSE.txt.