一、在两个做tomcat的虚拟机上安装memcached
:::yum install -y memcache
二、编辑tomcat默认读取的test.jsp文件
(删除之前test.jsp文件的内容,粘贴以下内容到文件,记得删除粘贴过来的特殊字符)
<%@ page contentType=”text/html; charset=GBK” %>
<%@ page import=”java.util.*” %>
Cluster App Test
Server Info:
<%
out.println(request.getLocalAddr() + ” : ” + request.getLocalPort()+”
”);%>
<%
out.println(“
ID ” + session.getId()+”
”);
String dataName = request.getParameter(“dataName”);
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter(“dataValue”);
session.setAttribute(dataName, dataValue);
}
out.print(“Session list“);
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + ” = ” + value+”
”);
System.out.println( name + ” = ” + value);
}
%>
key:
三、打开浏览器测试
(图片server info 显示:此时,是server2在工作;如果再次提交查询,就会是server3在工作;因为是轮调)
不同的主机访问时会调度到不同的 tomcat 实例上处理,来自同一主机的请求会交给同一个 tomcat 实例处理,此时你 down 掉当前正在响应的 tomcat 实
例,nginx 会自动把用户的请求调度到另一个 tomcat 实例上,同时 session 也没有丢掉。
通过命令就能看在存入memcache的消息
:::tail -f /usr/local/tomcat/logs/catalina.out