nginx+tomcat/jetty+redis 实现session共享的两种方式

722 阅读1分钟

nginx:负载均衡 tomcat/jetty:web服务器 redis::缓存中间件

以上服务器(中间件)基本是现在互联网web系统的标配了,尤其是在分布式环境下,更能发挥其强大的作用。

###实现session共享的两种方式: #####方式一: springSessionRepositoryFilter org.springframework.web.filter.DelegatingFilterProxy springSessionRepositoryFilter /*

优点:不受限于web服务器,tomcat/jetty 都适用

#####方式二: 在tomcat8.0.37版本测试可用,其他高版本未测试 在tomcat安装目录下的lib中放入以下jar,每个tomcat实例都要这样做。 在context.xml中加入以下代码

<value className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"f
	host="192.168.1.249"
	port="6379"
	password="123456"
	database="0"
	maxInactiveInterval="60" />

host为redis所在服务的ip,port为redis的端口,password为redis密码,高版本的redis要设置密码,不然就会报连接池打开异常。

######集群配置

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> 
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
	maxInactiveInterval="60"
	password="123456"
	sentinelMaster="mymaster"
sentinels="192.168.1.249:7000,192.168.1.249:7001,192.168.1.249:7002"/>