文档章节

tomcat使用memcache做session共享但是session一直变化

柏xiao树
 柏xiao树
发布于 2017/07/03 14:22
字数 319
阅读 7
收藏 0
使用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的配置除了端口不一样,其他配置完全一样
希望大神们可以帮忙解决下  跪求大神

 

© 著作权归作者所有

共有 人打赏支持
柏xiao树
粉丝 0
博文 1
码字总数 319
作品 0
北京
Memcache存储session,修改tomcat源码,实现全站二级域名session共享

上篇文章中的方案,在外部显式的使用memcache来替代session,虽然可以达到各个服务器session共享的目的,但是改变了开发人员获取session的方式。 本篇介绍的方法可以在不重构原来代码,不改变...

光石头
2011/05/13
0
0
nginx+memcache+tomcat配置(新手笔记)

nginx+memcache+tomcat 应该是企业级开发中用到的比较多的一套集群web环境,因为本人是从事Java的学习和开发,因此服务器选择了tomcat;配置这样一个环境在我看来首要目的当然是将服务器的压...

coder4j
2015/09/13
1K
9
分布式集群系统下的高可用session解决方案

目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。 目前,在集群系统下实现session统一的有如下几种方案:...

凯文加内特
2015/03/19
0
0
tomcat + memcached session manager共享session

网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人。正巧最近有一个地方用到,特此总结一下。 MSM支持tomcat6,tomcat7,t...

老徐_kevin
2014/10/21
0
0
求助一个session丢失的问题(集群后已经做了memcache的session管理)

本人近期做了一个apache + tomcat + memcached 的集群部署,之前存在session共享的问题,后来通过memcache来管理session,解决了session复制的问题,但是最近还是会发现有session丢失的情况,...

smh821025
2013/08/26
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
31
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部