通过Memcached来实现对Tomcat集群中Session的共享策略
大家必须要确保两件事情已经完成:
第一:首先确认memcached是否已经启动,可以通过
netstat -lp | grep memcached
来查看是否有11211的进程存在。
注意:11211为memcached的默认端口。
第二:需要在tomcat所在的节点上分别执行telnet命令来确认是否已经可以连接,操作命令为:
telnet 192.168.1.150 11211
上面的操作必须要在每一个子节点上去做,否则在启动的时候会提示Connect refuse。(本人在该地方卡住很长时间)
在这里首先要确保telnet服务是否已经安装并启动。
上述操作都完成后,就可以对Tomcat的相关文件进行配置了。
2. Tomcat相关配置
这一步很简单,网上也有很多说法,五花八门,我来给大家统一整理下,各位可以相互借鉴。
1)首先需要在tomcat安装路径所在的lib里面加上memcached相关的jar包,由于相互之间的版本问题,建议最好使用统一的版本。
另外网上似乎有两种办法,一种是kryo的序列化方式,另一种是javolution的方式,博主本人使用的是后者。
需要引入的jar包见下图所示:(这里大家导入一定要和下面完全一样,否则可能会出现错误,并不是因为每一个jar包都会用到,最好还是谨慎些)
2)配置Tomcat的conf相关配置文件。
在Context.xml文件中引入下列代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.1.150:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer
.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false" />
这里的memcachedNodes节点中的n1为节点的别名,可以随意起。后面的IP必须是memcached所在的主机的IP地址,端口必须是之前配置的11211端口。
该代码段在网上发现其他人说也可以放到Server.xml下面,这里本人没有尝试。
此时,所有的tomcat子节点中都要加上上面的这段代码,每个tomcat里面的内容都是相同的上述内容,无需做任何修改。
至此为止,有关memcache的Session共享已经完全配置完成,具体的启动顺序,首先要把memcached的服务启动,然后是apache服务,最后启动tomcat所在的每个子节点的服务。
然后观察tomcat的控制台打印如下:
该上述信息为博主从tomcat子节点1的控制台上截图下来的,大家可以自行观察,此时memcachedConnection已经连接成功,由于没有涉及到单点故障问题,因此failover nodes为null。
转载于:https://www.cnblogs.com/telwanggs/p/6473551.html
通过Memcached来实现对Tomcat集群中Session的共享策略相关推荐
- 通过memcached来实现对tomcat集群中Session的共享策略 .
近期在做一套集群的实现,实现的方案是在Linux下完成对Apache + Tomcat 负载均衡的功能. 但是实现了该集群后,发现登陆系统后,每次都会被拦截回登录页面,造成该现象的原因是Session ...
- 基SkyWalking实现对k8s集群中微服务的链路追踪
1.思路如下: 1.sykwalking的安装配置(k8s集群部署配置) 2.sykwalking-agent探针的集成到微服务项目(是打成基础镜像里,然后指定参数(configMap中配置java项 ...
- 关于 tomcat 集群中 session 共享的三种方法
前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持 ...
- Nginx+Tomcat+Memcached实现tomcat集群和session共享
Nginx+Tomcat+Memcached实现tomcat集群和session共享 [http://blog.csdn.net/shimiso/article/details/8979044] 为什 ...
- Nginx+tomcat集群的session共享问题
请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享.所以需要进行相关问题的解决 配置Tomcat的session共享可以有三种解决方案: 第一种:是以负载均衡服务器本身 ...
- Tomcat集群和Session共享的配置方法
Tomcat集群配置其实很简单,在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html ),只不过是英语的,对我这样的人来说很难懂 . 下面根据说下怎么配置吧: 第 ...
- 用Redis存储Tomcat集群的Session
用Redis存储Tomcat集群的Session 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 前段时间,我花了不少时间来寻求一种方法,把新开发的代码推 ...
- 《架构系列四:一键部署应用到Tomcat集群中》
<架构系列四:一键部署应用到Tomcat集群中> 基于前面的<架构系列三:使用Keepalived+Nginx+tomcat实现集群部署>,我们配置了nginx+Tomcat集 ...
- Tomcat集群及Session共享
Tomcat集群 由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流行的做法就是通 ...
最新文章
- Vue+Leaflet-side-by-side插件实现拉帘对比效果
- linux下桥接模式设置静态IP实现上网
- Visual Studio 2019 16.3.10 初体验
- linux命令学习-1-less
- OpenCV距离变换函数:distanceTransform()介绍
- 可以让你少奋斗十年的工作经验(转)
- Java实现 极光 im 聊天后台发送消息
- java 因数分解_java因数分解实例源码
- (转)怎样更好地理解并记忆泰勒展开式?
- JDK下载、安装和环境配置
- 介绍身份证号姓名实名认证 身份证号姓名校验 身份证号验人API
- LeetCode:三数之和
- 《Cisco VPP SFC》2、NSH_SFC 安装
- 我希望逢着一个丁香一样地结着愁怨的姑娘
- Go/Goland 开发笔记
- 梦幻西游服务器维修,《梦幻西游》电脑版2017年12月12日定期维护公告
- linux 搭建免费企业邮箱
- 2k19徽章修改_您可以修改此会议徽章
- C++ Reference: Standard C++ Library reference: C Library: cstdio: getc
- FPGA-超声波避障小车(ego1)
热门文章
- Uber和Non-Uber模式介绍
- (241)IC验证工程师技能树
- (11)System Verilog对象复制
- (02)System Verilog 程序块结束仿真
- (98)FPGA localparam 与parameter区别?
- (45)Verilog HDL 秒灯电路设计
- java解析简历_java:解析word文档(前程无忧简历),最好有代码案例?poi或者jacob解析都可以,有jar资源,求急。感谢...
- Labview 时间计数器 等待(ms) 等待下一个整数毫秒
- 回溯算法 思路清晰,通俗易懂!!!!!!!
- Linux中sudo命令设置,Linux下sudo命令的配置与使用方法