请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享.所以需要进行相关问题的解决

配置Tomcat的session共享可以有三种解决方案:

第一种:是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的。

第二种:是利用web容器本身的session共享策略来配置共享。针对于weblogic这种方式还是靠普的。但是针对于tomcat这种方式存在很大的缺陷,主要因为是依靠广播方式来实现的session复制,会浪费很多带宽导致整个网络反映缓慢。官网也建议这种方式最好不要超过4台tomcat,具体的内容可参考/webapps/docs/cluster-howto.html里面有详细的说明。下面是具体的配置过程

第三种:是Tomcat集群+redis的Session共享配置方法.

在这里我们以第二种方式为例:

步骤一:修改server.xml文件,最简单的集群配置只需要将节点中注释掉的下面这句取消注释即可:

Xml代码:<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 

使用这样方法配置的集群会将Session同步到所在网段上的所有配置了集群属性的实例上(此处讲所在网段可能不准确,是使用Membership 的address和port来区分的。tomcat集群的实例如果在Membership配置中有相同的address和port值的tomcat被分到同一个集群里边。他们的session是相互共享的,同一个session的集群被称为一个cluster。可以配置多个cluster,但是cluster和cluster之间的session是不共享的)。也就是说如果该广播地址下的所有Tomcat实例都会共享Session,那么假如有几个互不相关的集群,就可能造成Session复制浪费,所以为了避免浪费就需要对节点多做点设置了,如下:

Xml代码<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">   <Channel className="org.apache.catalina.tribes.group.GroupChannel">   <Membership className="org.apache.catalina.tribes.membership.McastService"   address="228.0.0.4"   port="45564"   frequency="500"   dropTime="3000"/>   </Channel>   </Cluster> 

加了一个Channel,里面包了个Membership,咱们要关注的就是membership的port属性和address属性,不同的集群设置不同的port值或address值,从目前的使用来看,基本上是隔离开了。

步骤二:修改项目的web.xml文件:

web.xml文件的修改很简单:只需要在节点中添加这个节点<distributable/>就可以了。

OK,有了这二步就实现了Tomcat的集群和Session的共享了。

转载于:https://www.cnblogs.com/myfaith-feng/p/9727341.html

Nginx+tomcat集群的session共享问题相关推荐

  1. nginx tomcat集群实现session共享

    tomcat配置文件 项目中引入如下4个jar包,就搞定啦

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

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

  3. Tomcat集群及Session共享

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

  4. 基于tomcat集群做session共享

    前端代理服务器nginx:192.168.223.136 tomcat服务器:采用的一台多实例192.168.223.146:8081,192.168.223.146:8082(如何构建多实例tomc ...

  5. MSM实现tomcat集群的session共享

    本文首发于我的个人网站: https://hewanyue.com/ 本文作者: Hechao 本文链接: https://hewanyue.com/blog/6254cc16.html 会话保持起源 ...

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

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

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

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

  8. Redis + Tomcat + Nginx 集群实现 Session 共享

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 蕃薯耀 链接 | www.cnblogs.com/fan ...

  9. Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    转载自  Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 一.Session共享使用tomcat-cluster-redis-session-mana ...

最新文章

  1. oracle查询之null值转化
  2. 汇编:转移目的地址在内存中
  3. HTML表单input类型有哪些,HTML表单之input元素的23种type类型
  4. UIActivityViewController实现系统原生分享
  5. 低学历、文科出身,我如何从月薪不到 3000 逆袭为大厂高薪程序员?
  6. 人口普查中应该具备的计算机知识,人口普查知识问答③
  7. 如何选择适合的公共 DNS
  8. execl表格同时打开多个独立窗口编辑
  9. Excel画图多个线条样式设置(在黑白下区分各个线条的作用)
  10. Linux~linux无法解析域名
  11. 『精华』技术大牛养成指南,一篇不鸡汤的成功学实践
  12. 电子发票电子化报销入账归档 给区块链领域带来了什么样的机遇
  13. 配置网卡和修改ip地址
  14. 初学者如何学好编程?
  15. 基于Python的岭回归与LASSO回归模型介绍及实践
  16. Mybatis开启一级、二级缓存
  17. 桌面文件不见了怎么恢复?
  18. 薄荷英语10月26(心理学百科)
  19. 代码一键美化工具Astyle,非常实用
  20. maya2022截至2021年7月21日发现不兼容metahuman资源,2022.7.6经测试,现在可以了

热门文章

  1. 替换空格---剑指Offer
  2. 从JDK9的Flow接口说起
  3. zcmu2012(积性函数---因子和)
  4. Java小结(二)——打印矩形和九九乘法表
  5. 第一个Java程序示例——Hello World
  6. Android BlueBorne (CVE-2017-0781)漏洞分析和利用
  7. Android Framework常用工具及LOG调试方法
  8. Breaking the Ledger Security Model
  9. 目前区块链项目的生态系统:一共七大类
  10. MXNet设计和实现简介