Tomcat Clustering Using Redis
In this article, I've shared my experience with Tomcat session clustering using Redis.
Redis session manager is plug-gable one. It uses to store sessions into Redis for easy distribution of HTTP Requests across a cluster of Tomcat servers. Sessions are implemented as as non-sticky i.e, each request is forwarded to any server in round-robin manner.
The HTTP Requests session setAttribute(name, value) method stores the session into Redis (must be Serializable) immediately and the session getAttribute(name) method request directly from Redis. Also, the inactive sessions has been removed based on the session time-out configuration.
It supports, both single redis master and redis cluster based on the RedisDataCache.properties configuration.
Going forward, we no need to enable sticky session (JSESSIONID) in Load balancer.
Session objects in Redis looks like below,
I've published the code in GitHub -> Redis Session Manager