nginx六 之Session共享

友情提示: session共享需要在负载均衡的环境基础上搭建,负载均衡可以参考http://www.cnblogs.com/dahuandan/p/6753646.html

背景

 使用反向代理服务器会引起session sticky(会话粘贴),意思是用户发起的多次请求被分发到多台服务器,请求的session没有被共享,解决这个问题的方案有很多种,在考虑性能、稳定以及自身架构的基础上,决定采取redis缓存会话实现session共享。

配置

tomcat配置


 1、修改context.xml,在<Context>节点末尾内添加如下配置:

<Valve   className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="127.0.0.1" port="7000" password="123456" database="0" maxInactiveInterval="60" />

 2、在tomcat7的lib目录下添加以下jar:

 commons-pool-1.6.jar
 jedis-2.1.0.jar
 tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

spring整合jar包


commons-pool2-2.4.2.jar
jedis-2.5.1.jar
spring-data-redis-1.4.2.RELEASE.jar 

测试

  浏览器打开两个窗口,分别访问测试页面,我们可以看到两个tomcat服务器的sessionId一致:

原文地址:https://www.cnblogs.com/dahuandan/p/6783522.html