栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > Tomcat

Tomcat Session集群

Tomcat 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tomcat Session集群

Tomcat Session集群(问题)

官方文档:https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html

配置说明


  

  
    
    

    
      
    
    
    
  

  
  

  

  

配置说明

    Cluster 集群配置
    Manager 会话管理器配置
    Channel 信道配置
    
      Membership 成员判定。使用什么多播地址、端口多少、间隔时长ms、超时时长ms。同一个多播地址和端口认为同属一个组。使用时修改这个多播地址,以防冲突
      Receiver 接收器,多线程接收多个其他节点的心跳、会话信息。默认会从4000到4100依次尝试可用端口
      address="auto",auto可能绑定到127.0.0.1上,所以一定要改为可以用的IP上去
      Sender 多线程发送器,内部使用了tcp连接池。
      Interceptor 拦截器
    Valve
    
      ReplicationValve 检测哪些请求需要检测Session,Session数据是否有了变化,需要启动复制过程
    ClusterListener
    
      ClusterSessionListener 集群session侦听器

使用

添加到所有虚拟主机都可以启用Session复制

添加到,该虚拟主机可以启用Session复制

最后,在应用程序内部启用了才可以使用

配置实现

前提:

    时间同步,确保NTP或Chrony服务正常运行。
    防火墙规则。
IP 主机名 服务
10.0.0.100 t0 调度器 Nginx、HTTPD
10.0.0.101 t1 tomcat1 JDK8、Tomcat8
10.0.0.102 t2 tomcat2 JDK8、Tomcat8

本次把多播复制的配置放到缺省虚拟主机里面, 即Host之下。

特别注意修改Receiver的address属性为一个本机可对外的IP地址。

t2的server.xml中,如下


    其他略去
    

t3的server.xml中,如下


    其他略去
    

Tomcat重启后,ss命令能看到tomcat监听在4000端口上

尝试使用刚才配置过得负载均衡(移除Session黏性),测试发现Session还是变来变去。

准备web.xml

在应用中增加WEB-INF,从全局复制一个web.xml过来

# cp /usr/local/tomcat/conf/web.xml /data/webapps/ROOT/WEB-INF/

为web.xml的标签增加子标签来开启该应用程序的分布式。

重启全部Tomcat,通过负载均衡调度到不同节点,返回的SessionID不变了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/10402.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号