Tomcat集群Session会话复制方案

article/2025/9/23 15:57:48

Tomcat集群Session会话复制方案

  • 一、配置Tomcat
  • 二、项目配置与启动配置

一、配置Tomcat

1.进入tomcat官网查找相应tomcat版本的文档,版本不同配置信息也就相应不同。

在这里插入图片描述
在这里插入图片描述
图中标识2就是tomcat默认的群集配置
在这里插入图片描述

2.打开tomcat/config/server.xml配置文件。

<Engine name="Catalina" defaultHost="localhost">节点下进行配置以启用群集。

 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><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"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster>

在这里插入图片描述
3.重要的默认值:

1.组播地址是228.0.0.42.组播端口为45564(端口和地址共同决定集群成员资格。3.广播的IP是java.net.InetAddress.getLocalHost().getHostAddress()(确保广播IP不是127.0.0.1,这是一个常见错误)4.侦听复制消息的TCP端口是范围中的第一个可用服务器套接字(Socket) 4000-41005.配置侦听器 ClusterSessionListener6.配置两个拦截器TcpFailureDetector,MessageDispatchInterceptor

4.注意点:

1.确保web.xml有` <distributable/>`元素2.如果Tomcat实例在同一台机器上运行,要确保Receiver.port 每个实例的属性都是唯一的,在大多数情况下,Tomcat可以通过自动检测4000-4100范围内的可用端口自行解决此问题。3.如果Tomcat部署不同的服务器上时,则address的值应为当前主机的IP地址,port=”4000”即可。4.多个tomcat共享同一个session时,Membership节点的address和port必须一致,一般不会有改动。5.Receiver节点是配置组播接收者,接收地址address和端口port是当前主机的信息,通过这个信息加入群集。6.保证访问域名或url要一致,否则session不共享。http://localhost:8080/demo与http://localhost:8082/demo2不共享session

5.对要集群的tomcat进行如上信息配置

二、项目配置与启动配置

1.基于maven提供的项目模板快速创建一个web项目。
在这里插入图片描述

2.修改默认的index.jsp页面,以供区别session共享是否生效.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Tomcat1</title>
</head>
<body>
SessionID:<%=session.getId()%>
<br>
SessionIP:<%=request.getServerName()%>
<br>
SessionPort:<%=request.getServerPort()%>
</body>
</html>

在这里插入图片描述
3.在默认提供的web.xml中添加 <distributable/>(很重要)

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><distributable/>
</web-app>

在这里插入图片描述
4.tomcat启动信息配置
在这里插入图片描述
在这里插入图片描述
5.查看tomcat启动信息
Tomcat1
在这里插入图片描述
在这里插入图片描述
Tomcat2
在这里插入图片描述
6.浏览器验证
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/jSw1LrGC.shtml

相关文章

Tomcat 集群

多种方式实现 Tomcat 集群。 1 概述 1.1 集群能带来什么 提高服务的性能&#xff0c;例如计算处理能力、并发能力等&#xff0c;以及实现服务的高可用性。提供项目架构的横向扩展能力&#xff0c;增加集群中的机器就能提高集群的性能。提升对静态文件的处理性能。利用 Web 服务…

Tomcat集群同步原理

#概述 随着C/S架构中&#xff0c;客户端对服务器的访问量及访问次数逐渐增多&#xff0c;单个服务器已经不能够满足客户端的请求了。于是现在大多数服务器都做成了集群的形式。而服务器集群会有一个很大问题&#xff0c;就是同步问题。比如&#xff0c;现在我对一个有四台计算机…

零基础搭建Tomcat集群(超详细)

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

Nginx 搭建Tomcat集群

目录 一、架构图 二、配置上游服务器 三、配置集群服务 四、加权负载均衡 五、配置最大连接数 六、启动慢增长 一、架构图 二、配置上游服务器 打开config/nginx.conf 添加配置如下&#xff1a; 三、配置集群服务 刷新nginx后&#xff0c;集群配置完毕&#xff01; 四…

Tomcat集群及Session共享

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

Windows中部署Tomcat集群

1.新建文件夹tomcats 准备3台tomcat 测试&#xff1a; 错点&#xff1a; 使用的是7无缓存版本&#xff0c;但是扔显示8。解决&#xff1a;将环境变量中的catalina删掉。 ~~删除线格式~~ 2.修改配置文件 第一台8005 第二台8006 第三台8007 此位置第一台8091&#xff…

Nginx+Tomcat集群环境搭建

Tomcat集群能带来什么&#xff1f; 提高服务的性能、并发能力、以及高可用性提高项目架构的横向扩展能力 提高服务的性能 实际公司线上生产环境都会选择一台机器部署一个tomcat&#xff0c;多台机器完成集群&#xff0c;毕竟一台机器部署多个tomcat还是有一些共享瓶颈的&…

tomcat集群

tomcat集群 什么是集群 集群是一组协同工作的服务实体&#xff0c;用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来&#xff0c;一个集群就象是一个服务实体&#xff0c;但 事实上集群由一组服务实体组成。 集群的特性 与单一服务实体相比较&#xff0c;…

tomcat集群部署

tomcat集群部署 1 创建2个 tomcat 2 将 tomcat 官网文档的配置示例复制到 server.xml文件中 3 修改 server.xml 文档中的参数配置 3.1 Cluster    className表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递。channelSendOptions可以设置为2、4、8、10&a…

Nginx+tomcat集群

Nginxtomcat集群 定义&#xff1a;在测试环境中有多个tomcat运行这一个项目&#xff0c;需要nginx管理 2特点&#xff1a;1&#xff0c;增加项目访问能力 2&#xff0c;增加服务器性能 3&#xff0c;实现不同负载均衡 3负载均衡&#xff1a;根据每台服务器的性能分配其能承受住…

Tomcat集群配置

1.Tomcat集群 多个 Tomcat 服务器构成了一个集群&#xff08;Cluster&#xff09;系统&#xff0c;共同为客户提供服务。集群系统具有以下优点&#xff1a; 高可靠性高性能计算负载平衡 图1-1显示了由 JK插件和两个 Tomcat服务器构成的集群系统。集群系统的正常运作离不开以…

Tomcat 集群搭建入门

简介 由于单台Tomcat的承载能力是有限的&#xff0c;当我们的业务系统用户量比较大&#xff0c;请求压力比较大时&#xff0c;单台Tomcat是扛不住的&#xff0c;这个时候&#xff0c;就需要搭建Tomcat的集群&#xff0c;而目前比较流程的做法就是通过Nginx来实现Tomcat集群的负…

Tomcat 集群部署

Tomcat快速入门 Tomca基本介绍 环境准备 JVM介绍Java业务都是运行在java虚拟机上&#xff0c;java虚拟机简称JVM( java virtual machine) ​ 虚拟机是通过软件模拟出具有完整硬件系统的功能 ​ 为什么Java需要JVM虚拟机 ​ 早期C语言不支持跨平台&#xff0c;如果C语言想…

Tomcat系列之五:Tomcat集群

基于mod_proxy实现负载均衡 在httpd.conf中启用httpd-proxy.conf配置文件&#xff0c; Include /etc/httpd/extra/httpd-proxy.conf 修改httpd-proxy.conf文件&#xff1a; ProxyRequests Off <proxy balancer://lbcluster1>BalancerMember ajp://192.168.1.211:8009 loa…

集群与jetspeed

1 、 集群背景介绍 1.1 术语定义服务软体是b/s或c/s结构的s部分&#xff0c;是为b或c提供服务的服务性软件系统。 服务硬体指提供计算服务的硬件、比如pc机、pc服务器。 服务实体通指服务软体和服务硬体。 客户端指接受服务实体服务的软件或硬件。 1.2 两大关键特性集…

Tomcat集群搭建超详细

TOMCAT集群 目录 TOMCAT集群 1 1 集群 1 1.1 什么是集群 1 1.2 集群的特性 1 1.3 集群的分类 1 1.4 TOMCAT集群配置的优缺点 2 1.5 APACHETOMCAT 2 1.6 环境说明 2 2 软件安装 3 2.1 安装说明 3 2.2 JDK安装 3 2.3 APACHE安装 4 2.4 TOMCAT安装 4 3 集群配置 6 …

JAXB元素详解

JAXB简介 JAXB&#xff08;Java Architecture for XML Binding) 是一个业界的标准&#xff0c;是一项可以根据XML Schema产生Java类的技术。该过程中&#xff0c;JAXB也提供了将XML实例文档反向生成Java对象树的方法&#xff0c;并能将Java对象树的内容重新写到XML实例文档。从…

xml java jaxb_【Java】JAXB操作XML用法详解

什么是JAXB? JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。在JAX-WS(Java的WebService规范之一)中,JAXB可以实现对象和XML之间相互转换。Unmarshaller类管理将XML数据反序列化为新创建的Java内容树的进程,并可在解…

java jaxb 注解_一、JAXB注解的使用详解

一、首先先上一段测试的代码下面的说明和测试都已这一段代码为主 package shiqingxue.cn.itcast.utils.xml; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax…

JAXB应用实例

博文目录 一 JavaBean和XML相互转换初体验二 JAXB使用基础介绍三 应用实际四 问题补充 正文 过往的项目中数据存储都离不开数据库&#xff0c;不过最近做的一个项目的某些数据&#xff08;比如人员信息、菜单、权限等等&#xff09;却完全没有涉及任何数据库操作&#xff0c;直…