大家必须要确保两件事情已经完成:

第一:首先确认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的共享策略相关推荐

  1. 通过memcached来实现对tomcat集群中Session的共享策略 .

    近期在做一套集群的实现,实现的方案是在Linux下完成对Apache + Tomcat 负载均衡的功能. 但是实现了该集群后,发现登陆系统后,每次都会被拦截回登录页面,造成该现象的原因是Session ...

  2. 基SkyWalking实现对k8s集群中微服务的链路追踪

    1.思路如下: 1.sykwalking的安装配置(k8s集群部署配置) 2.sykwalking-agent探针的集成到微服务项目(是打成基础镜像里,然后指定参数(configMap中配置java项 ...

  3. 关于 tomcat 集群中 session 共享的三种方法

    前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持 ...

  4. Nginx+Tomcat+Memcached实现tomcat集群和session共享

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 [http://blog.csdn.net/shimiso/article/details/8979044] 为什 ...

  5. Nginx+tomcat集群的session共享问题

    请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享.所以需要进行相关问题的解决 配置Tomcat的session共享可以有三种解决方案: 第一种:是以负载均衡服务器本身 ...

  6. Tomcat集群和Session共享的配置方法

    Tomcat集群配置其实很简单,在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html ),只不过是英语的,对我这样的人来说很难懂 . 下面根据说下怎么配置吧: 第 ...

  7. 用Redis存储Tomcat集群的Session

    用Redis存储Tomcat集群的Session 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 前段时间,我花了不少时间来寻求一种方法,把新开发的代码推 ...

  8. 《架构系列四:一键部署应用到Tomcat集群中》

    <架构系列四:一键部署应用到Tomcat集群中> 基于前面的<架构系列三:使用Keepalived+Nginx+tomcat实现集群部署>,我们配置了nginx+Tomcat集 ...

  9. Tomcat集群及Session共享

    Tomcat集群 由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流行的做法就是通 ...

最新文章

  1. Vue+Leaflet-side-by-side插件实现拉帘对比效果
  2. linux下桥接模式设置静态IP实现上网
  3. Visual Studio 2019 16.3.10 初体验
  4. linux命令学习-1-less
  5. OpenCV距离变换函数:distanceTransform()介绍
  6. 可以让你少奋斗十年的工作经验(转)
  7. Java实现 极光 im 聊天后台发送消息
  8. java 因数分解_java因数分解实例源码
  9. (转)怎样更好地理解并记忆泰勒展开式?
  10. JDK下载、安装和环境配置
  11. 介绍身份证号姓名实名认证 身份证号姓名校验 身份证号验人API
  12. LeetCode:三数之和
  13. 《Cisco VPP SFC》2、NSH_SFC 安装
  14. 我希望逢着一个丁香一样地结着愁怨的姑娘
  15. Go/Goland 开发笔记
  16. 梦幻西游服务器维修,《梦幻西游》电脑版2017年12月12日定期维护公告
  17. linux 搭建免费企业邮箱
  18. 2k19徽章修改_您可以修改此会议徽章
  19. C++ Reference: Standard C++ Library reference: C Library: cstdio: getc
  20. FPGA-超声波避障小车(ego1)

热门文章

  1. Uber和Non-Uber模式介绍
  2. (241)IC验证工程师技能树
  3. (11)System Verilog对象复制
  4. (02)System Verilog 程序块结束仿真
  5. (98)FPGA localparam 与parameter区别?
  6. (45)Verilog HDL 秒灯电路设计
  7. java解析简历_java:解析word文档(前程无忧简历),最好有代码案例?poi或者jacob解析都可以,有jar资源,求急。感谢...
  8. Labview 时间计数器 等待(ms) 等待下一个整数毫秒
  9. 回溯算法 思路清晰,通俗易懂!!!!!!!
  10. Linux中sudo命令设置,Linux下sudo命令的配置与使用方法