配置集群 只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集
群内的tomcat都有相同的session
1. 修改tomcat1, tomcat2的server.xml,将集群部分配置(cluster)的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,
当然,如果是两台电脑,是不用改端口的,去掉注释符即可
2. 2,修改测试项目test修改test.jsp,内容如下
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>"); // 如果有新的 Session 属性设置
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
} out.print("<b>Session 列表</b>"); Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="index.jsp" method="POST">
名称:<input type=text size=20 name="dataName">
<br>
值:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
然后在test 新建WEB-INF目录,WEB-INF下新建web.xml,
内容如下
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>TomcatDemo</display-name>
<distributable/>
</web-app>
注意:在你的应用的web.xml加入<distributable/> 即可ok,
讲test复制到tomcat1,tomcat2的webapps下,
重启apache,tomcat1,tomcat2,
输入网址 http://localhost/test/test.jsp
填写一对值到session 中, 提交 , 页面应该能打印出你刚才提交的值
关掉tomcat1, 刷新页面, 页面应该仍然能打印出你刚才提交的值.
分享到:
相关推荐
在IT领域,特别是Web应用服务器的管理与优化中,Tomcat集群实现Session复制是一个关键的技术点,它确保了高可用性和负载均衡,特别是在处理大量并发请求的场景下。本文将深入探讨这一主题,涵盖其原理、配置方法以及...
NULL 博文链接:https://xueweiabcok.iteye.com/blog/1841448
Apache 和 Tomcat 集群配合 Session 复制是一种常见的高可用性和负载均衡解决方案,尤其适用于大型网站和企业级应用。以下将详细解释这个方案的关键点。 **整体方案策略** 1. **部署逻辑图** 部署逻辑通常包括...
而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session复制到所有的节点里, 比如有六个Tomcat实例 Tomcat1,Tomcat2,Tomcat3,Tomcat4,Tomcat5,Tomcat6 是可以配置成 三组互相复制...
5. **设置Session复制策略**:可以通过`DeltaManager`的属性调整复制策略,例如`expireSessionsOnShutdown`决定服务器关闭时是否清理Session,`notifyListenersOnReplication`决定是否在复制后触发监听器事件。...
以下是实现Tomcat集群session共享与Redis结合的步骤和知识点: 1. **配置Redis服务器**:首先,你需要安装并运行一个Redis实例。确保其稳定运行,并且能够被集群中的所有Tomcat服务器访问。 2. **选择session复制...
- 安装并配置mod_jk模块,设置连接到各个Tomcat实例的参数,配置Apache服务器以转发请求到Tomcat集群。 - 实现session同步机制,确保集群中的多个Tomcat实例能够共享用户会话信息。 - 配置负载均衡规则,通过mod_jk...
2. **设置通信机制**:Tomcat集群通过通道(Channel)进行节点间的通信。常见的通信机制有基于TCP的`TcpChannel`,基于Multicast的`SimpleTcpCluster`等。你需要根据网络环境选择合适的通信方式,并在`Channel`元素...
Apache + Tomcat 集群配置 Apache + Tomcat 集群配置是指将 Apache 服务器与 Tomcat 服务器集成,以提高服务器的性能和可扩展性。本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器...
Apache Tomcat集群访问问题主要涉及的是在高并发或者负载均衡场景下,如何通过配置多个Tomcat实例来提高Web服务的可用性和性能。集群允许将请求分发到多个服务器上,从而实现负载均衡,并且提供了故障转移的能力,...
**Session复制**是通过JK模块在Apache和Tomcat之间传递Session信息,使得用户在集群中的不同Tomcat服务器之间切换时,仍能保持登录状态和其他会话信息。这通常需要在`workers.properties`文件中进行详细配置,并且在...
本篇将深入探讨Apache如何实现负载均衡,以及Tomcat集群和session复制的相关知识。 首先,Apache的负载均衡主要通过模块mod_proxy来实现。这个模块能够将客户端的HTTP请求转发到不同的后端服务器,从而达到负载均衡...
2. **配置集群**:要设置Apache Tomcat集群,首先需要在`server.xml`配置文件中定义每个Tomcat实例的`Engine`、`Host`和`Cluster`元素。`Cluster`元素用于配置集群相关的属性,如成员发现机制和session复制策略。 3...
1. **Session复制**:默认情况下,Tomcat会在本地存储Session数据,但在集群环境下,需要配置每个实例之间进行Session复制,以保持会话一致性。 2. **Memcached Session Manager**:安装并配置Tomcat的Memcached ...
以下是对"Apache+mod_jk+Tomcat集群环境配置"的详细解析。 **1. Apache与Tomcat集群的优势** - **负载均衡**:通过将请求分发到多个Tomcat实例,可以有效提高系统处理能力,防止单一节点过载。 - **高可用性**:当...
【Nginx Tomcat集群与Session复制】 在高并发、高可用的Web应用环境中,使用Nginx作为负载均衡器,结合Tomcat集群是常见的架构选择。为了保证用户体验的连续性,Session复制技术用于在多个Tomcat实例之间共享用户...
在构建高可用的Web服务时,Tomcat集群是常见的选择,但随之而来的一个问题就是如何在集群中的各个节点间共享Session。"Tomcat8集群session共享(redis处理)"的主题正是针对这一问题,通过集成Redis作为分布式缓存来...