tomcat使用memcache做session共享但是session一直变化
tomcat使用memcache做session共享但是session一直变化
柏xiao树 发表于8个月前
tomcat使用memcache做session共享但是session一直变化
  • 发表于 8个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

使用nginx,tomcat和memcached进行session共享但是发现每次nginx转发到另外一个tomcat时session就变化了详细情况如下:
nginx关键配置如下
upstream myServer1 {
	server 192.168.75.16:8080 weight=5;
	server 192.168.75.21:8081 weight=5;
	}
确定nginx可以正常起作用

在一台服务器上开了两个tomcat端口分别是8080和8081session同步的配置如下使用memcached
<Context>
	<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
		memcachedNodes="n1:192.168.83.128:11211"
		requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
		sticky="false"
		sessionBackupAsync="false"
		lockingMode="auto"
		sessionBackupTimeout="100"
		transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
		/>
</Context>
两个tomcat的context.xml这段配置完全一样,可以正常启动,分别也可以正常访问,在每个的webapps的root下方了一个demo.jsp文件里面直接打印了当前转发到的端口和当前sessionid
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"");%>
<%
  out.println("ID " + session.getId()+"");
%>

 

得到的是Server Info: 192.168.75.16 : 8080 ID F733D305D7C9C21CED6F434AF1341CF7.tomcat16
得到的是Server Info: 192.168.75.21 : 8080 ID B6A66E87AF7D7FEE9E22AAB3601445EA.tomcat21
而且一旦nginx一旦转发切换了tomcat这里的sessionid就会完全变了,不知道这是怎么回事,由这个现象可以看出来session同步完全没有起作用,可以确定两个tomcat的配置除了端口不一样,其他配置完全一样
希望大神们可以帮忙解决下  跪求大神

 

标签: tomcat memcache
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 319
×
柏xiao树
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: