Session共享问题演示

1. 在tomcat中创建项目myweb
2. 分别启动两个tomcat,查看sessionid值

Tomcat_main

Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_github

Tomcat_back

Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_github_02

Session共享问题解决

思想:将原来由每一个tomcat管理的session统一存储到redis中管理

1.下载nginx+tomcat集群+redis实现session共享工具包tomcat-redis-session-managerhttps://github.com/jcoleman/tomcat-redis-session-manager/

其它依赖包

Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_nginx_03

将以上四个包copy到tomcat的lib目录下(集群中的所有Tomcat都需要有这四个jar)

2.在tomcat/conf/context.xml文件中添加配置(集群中的所有Tomcat都需要配置)

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>

<Manager className="com.radiadesign.catalina.session.RedisSessionManager"

        host="192.168.19.128"

        port="6379"

        database="0"

         maxInactiveInterval="60"
		 
		 password="admin"
		 />

3.查看myweb工具中sessionid

Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_redis_04


Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_tomcat_05

Redis帮助我们存储了session

Nginx+tomcat集群+redis实现session共享(已过时,仅作思路启发)_nginx_06

实战方案