`
星夜的遐想
  • 浏览: 189375 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache和Tomcat集群测试案例

阅读更多

上一篇也简单介绍了如何配置集群环境,下面来测试结果:

 

1、首先创建一个项目web项目TestCluster,因为测试比较简单,直接用jsp实现。

2、修改项目的web.xml文件,添加 <distributable/>节点

写道
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>TestCluster</display-name>
<distributable/>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

 

 

 3、创建index.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

</head>
<body>
	<% String sessionStr=session.getId();%>
	当前的sessionId:<B><%=sessionStr %></B> <br>

  <%
  	out.println("<b>Session 列表</b><br>");
	
  	Enumeration e = session.getAttributeNames();

  	while (e.hasMoreElements()) {

        String name = (String)e.nextElement();

        String value = session.getAttribute(name).toString();

        out.println("<p>"+ name + " = " + value+"</p>");

        System.out.println( name + " = " + value);

       }
  %>
	<hr/>
	<form action="process.jsp" id="jspForm">
		
		键:<input type="text" name="str1" />
		值:<input type="text" name="str2" />
		<input type="submit" value="提交">
	</form>
</body>
</html>

 

4、创建处理页面process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	
	 	try {
			//设置请求延时10秒钟,以便停止对应的tomcat,模拟服务器崩溃
			Thread.sleep(10*1000);
			
			} catch (Exception e) {
				e.printStackTrace();
			}finally{
				
			}
	   String str1=request.getParameter("str1");
	   String str2=request.getParameter("str2");
	   //获得sessionId(427C1BDFD6C3E5A171F2431F8E0004A4.tomcat6_2 形式的字符串)
	   String sessionStr=session.getId();
	   //获得tomcat名称
	   String serverName=sessionStr.substring(sessionStr.lastIndexOf(".")+1);
	   System.out.println("<<======================"+serverName+"被调用了==================>>");
	   
	  
	   session.setAttribute(str1,str2);
	   
	   request.getRequestDispatcher("/index.jsp").forward(request, response);
	%>
</body>
</html>

  

5、测试场景

输入:http://localhost/TestCluster/test.jsp (因为Apache默认端口为80)

 

(1) 第一次页面显示如下:

(2) 点击提交的处理请求的过程中,将tomcat6_1停掉后,响应页面如下:

 

 (3)有图一和图二的sesssionId完全一致,已经实现了session共享,当接收请求应用服务器突然中断后,请求依然会转发给其他的服务器,继续处理,完全实现了我们的要求。

 

(4) 有需要可下载案例源码  ^_^

  • 大小: 11.4 KB
  • 大小: 12.2 KB
分享到:
评论

相关推荐

    Apache和tomcat集群部署相关配置文件案例

    Apache和tomcat集群部署配置文件案例,包含Apache中的配置文件httpd.conf,mod_jk.conf,workers.properties,以及tomcat中配置文件server.xml

    apache+tomcat集群.doc

    ### Apache + Tomcat 集群配置...通过以上步骤,我们成功实现了Apache + Tomcat集群的配置,并通过简单的负载均衡测试验证了其有效性。这种方式不仅能够提高应用的可用性和性能,还能够轻松扩展以应对更大的访问量。

    tomcat7+apache2.2做集群

    通过以上步骤,我们就成功地搭建了一个基于Apache 2.2.4和Tomcat 7.0.70的集群,实现了负载均衡。这只是一个基础配置,实际应用中可能需要考虑更多的因素,如健康检查、会话持久化、故障转移策略等。随着业务增长,...

    apache+tomcat+jk集群

    在本案例中,Apache作为前端服务器,负责接收客户端的请求并根据配置将这些请求分发到后端的Tomcat服务器集群。 ### Tomcat的角色 Tomcat是由Apache软件基金会的Jakarta项目开发的一款开源Servlet容器,主要用于...

    apache tomcat 集群

    总之,Apache Tomcat集群配置是一个涉及多个组件和配置文件的过程,需要仔细规划和测试,以确保系统的稳定性和高效运行。通过正确的配置,你可以创建一个能够处理大量并发请求、具有高可用性和容错能力的Web服务环境...

    Apache整合tomcat模块

    在本案例中,提供了针对Apache 2.2和2.4两个版本的mod_jk模块,用户可以根据自己Apache服务器的版本选择合适的版本进行安装。 "tomcat-connectors-1.2.37-windows-i386-httpd-2.4.x"和"tomcat-connectors-1.2.37-...

    使用Apache搭建Sticky模式的Tomcat集群

    在本篇文章中,我们将深入探讨如何使用Apache搭建Sticky模式的Tomcat集群,以提升Web应用的性能和容错能力。 首先,理解"Sticky模式"是非常必要的。Sticky模式是一种负载均衡策略,它使得来自同一客户端的请求始终...

    Tomcat集群资料

    五、实战案例:使用Nginx+Tomcat集群 1. 安装Nginx:作为反向代理和负载均衡器。 2. 部署Tomcat:在多台服务器上安装相同配置的Tomcat实例。 3. 配置Nginx:设置upstream,指定后端Tomcat服务器列表,配置负载均衡...

    apache-tomcat-7.0.16-windows-x86.zip(免安装版)

    5. **Cluster**(可选):如果需要集群部署,此组件支持Tomcat实例之间的通信和会话复制。 6. **Manager**:一个Web应用程序,可以用于管理部署在Tomcat服务器上的应用。 7. **Host**:代表一个虚拟主机,允许在一个...

    Tomcat集群配置,实现session共享

    本文介绍了如何在JDK 1.8.0_131和Tomcat 8环境下搭建一个简单的Tomcat集群,并实现了Session共享。通过这些步骤,不仅可以提高系统的性能和可用性,还能更好地应对高并发场景下的访问需求。希望本文对您有所帮助!

    Apache Tomcat 7 Essentials by Tanuj Khare.pdf

    Apache Tomcat 是一个免费开源的轻量级 Web 应用服务器,它支持多种 Web 技术,如 Java Servlets、JavaServer Pages (JSP)、Java Expression Language (EL) 和 WebSocket 技术等。Tomcat 7 是该系列的一个重要版本,...

    apache2.2+mod_JK+Tomcat7+Terracotta3.7 集群(重要)

    Apache 2.2、mod_JK、Tomcat 7 和 Terracotta 3.7 是构建高可用性和可扩展性 Web 应用集群的关键组件。这个集群配置旨在提高应用程序的性能,通过负载均衡和故障转移确保服务的连续性。下面我们将深入探讨这些组件...

    Nginx+Tomcat+Memcached-Session-Manager集群Session共享

    ### Tomcat集群的搭建与配置 为了实现Session共享,需要对多个Tomcat实例进行配置: 1. 复制Tomcat实例,创建多个Tomcat服务节点。 2. 修改每个Tomcat实例的配置文件(server.xml),确保每个实例监听不同的端口。 3...

Global site tag (gtag.js) - Google Analytics