一、集群部署主要问题:
1、负载均衡(由nginx实现)
2、服务轮询session共享问题
3、文件上传下载
二、使用tomcat-redis-session-manager实现session共享
1、从GitHub上获取tomcat-redis-session-manager源码https://github.com/jcoleman/tomcat-redis-session-manager
2、将src下的源码编译打包成jar
新建maven项目,创建包com.luoqin.tomcat.redissessions,将上述源码文件复制到包下:
pom配置:
<dependencies>
<!-- tomcat7 source1.7 -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.69</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin> <!-- 打jar包 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<!-- 源代码编译版本 -->
<source>1.7</source>
<!-- 目标平台编译版本 -->
<target>1.7</target>
<!-- 字符集编码 -->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
修改RedisSessionManager.java中下列代码改成自己的包路径
编译打包,mvn clean package
3、将tomcat-redis-session-manager-1.0-SNAPSHOT.jar、jedis-2.7.2.jar、commons-pool2-2.3.jar复制到Tomcat的lib目录下,所有参与session共享的Tomcat下都需要
4、修改content.xml
这里的包路径必须跟上面创建的包路径一致;manager标签中配置连接的Redis相关信息
参考:
Tomcat的Session共享(复制)的几种实现方案
https://blog.youkuaiyun.com/u012383839/article/details/79756368
nginx集群tomcat,session共享问题
https://blog.youkuaiyun.com/tuesdayma/article/details/81387862
关于 tomcat 集群中 session 共享的三种方法
https://www.cnblogs.com/interdrp/p/4056525.html
我的tomcat+redis实现session共享配置之路
https://blog.youkuaiyun.com/lzc409973859/article/details/51981079
未完待续。。。