如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块。

本文当采用tomcat默认集群配置(<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>)时,配置的细节实际上被省略了,对于大多数应用而言,使用默认配置已经足够。

下载tomcat 8.0 到本地, 保存为tomcat1,  复制tomcat1 为tomcat2,

修改tomcat2的端口设置,可以参考下面这个链接修改端口。

http://crunchify.com/how-to-run-multiple-tomcat-instances-on-one-server/

在 examples 目录下创建一个session.jsp文件,用来测试Cluster中两个Tomcat使用的Session是同一个Session,并且当其中一个Tomcat修改Session中的值时,第二个Tomcat会同样得到更新;代码如下:

<html>
<head>
<title></title>
</head>
<body>
<%
String mydata = request.getParameter("mydata");
if (mydata != null && mydata.length() != 0) {
session.setAttribute("mydata", mydata);
}
out.println("request.getLocalAddr(): " + request.getLocalAddr());
out.println("<br/>");
out.println("request.getLocalPort(): " + request.getLocalPort());
out.println("<br/>");
out.println("Session ID: " + session.getId());
out.println("<br/>");
out.println("mydata: " + session.getAttribute("mydata"));
%>
<form>
<input type=text size=20 name="mydata">
<br>
<input type=submit>
</form>
</body>
</html>

现测试一下不添加cluster配置, 是什么情况。

session的值是不一样的。

接着我们添加cluster配置。

修改tomcat1 和tomcat2 conf/server.xml文件,将其中<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>前后的注释打开保存;

<Engine name="Catalina" defaultHost="localhost">

      <!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

修改tomcat1 和tomcat2 的web.xml

修改其中的WEB-INF/web.xml文件,在其中<display-name>Servlet and JSP Examples</display-name>节点后添加<distributable/>表明此应用与集群服务器复制 Session;

<description>
Servlet and JSP Examples.
</description>
<display-name>Servlet and JSP Examples</display-name>
<distributable/>

重启tomcat1, tomcat2

 

可以看到session同步成功!

http://laravel.iteye.com

单机配置tomcat 8 集群的更多相关文章

  1. solrCloud+tomcat+zookeeper集群配置

    solrcolud安装solrCloud+tomcat+zookeeper部署  转载请出自出处:http://eksliang.iteye.com/blog/2107002 http://eksli ...

  2. Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

    Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...

  3. Apache+Tomcat服务器集群配置

    在实际应用中,如果网站的访问量很大,为了提高访问速度,可以与多个Tomcat服务器与Apache服务器集成,让他们共同运行servlet/jsp 组件的任务,多个Tomcat服务器构成了一个集群(Cl ...

  4. Nginx+Tomcat+MemCached 集群配置手册

    系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...

  5. 简单的 Nginx+Tomcat 配置负载均衡集群

    简单 Nginx+Tomcat 配置负载均衡集群 前期准备 解压两个tomcat,修改端口号 server1:8081 server:8082 同时启动 nginx官网下载解压版nginx 创建一个简 ...

  6. FineReport如何部署Tomcat服务器集群

    环境准备 Tomcat服务器集群中需要进行环境准备: Apache:Apache是http服务器,利用其对Tomcat进行负载均衡,这里使用的版本是Apache HTTP Server2.0.64: ...

  7. 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)

    本文Apache+Tomcat集群配置       基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apa ...

  8. 28.zookeeper单机(Standalones模式)和集群搭建笔记

    zookeeper单机(Standalones模式)和集群搭建: 前奏: (1).zookeeper也可以在windows下使用,和linux一样可以单机也可以集群,具体就是解压zookeeper-3 ...

  9. Tomcat:基于Apache+Tomcat的集群搭建

    根据Tomcat的官方文档说明可以知道,使用Tomcat配置集群需要与其它Web Server配合使用才可以完成,典型的有Apache和IIS. 这里就使用Apache+Tomcat方式来完成基于To ...

随机推荐

  1. wordpress改不了固定连接的解决办法

    经常遇到更改了固定连接刷新没效果>>>>>>>废话不多说直接上步骤,有图有真相. 1,ftp删除根目录的这个文件夹 2,进入wp后台设置-固定连接—自定义结构 ...

  2. 程序4-2 access函数实例

    //http://blog.chinaunix.net/uid-24549279-id-71355.html /* ========================================== ...

  3. 1117 Eddington Number

    题意:给出了N个数字,确定一个尽可能大的数字E,要求这N个数字中大于E的数字有E个. 思路: 乍一看不知道题目在说啥.静下心来多读几遍题目,在草稿纸上比划比划,发现是个大水题.解释一下样例,原始序列为 ...

  4. file does not exist 阿里云OSS图片上传遇到的问题

    ./uploads\20171209/0497b8dd16e72c6fcf5bfd552f535a81.png file does not exist 原代码 function aliyun($sav ...

  5. C#之Application.DoEvents()

    Application.DoEvents()的最大作用就是时时响应, 可以看做是个线程的一个封装 private void button1_Click(object sender, EventArgs ...

  6. NAS网络存储

    NAS(Network Attached Storage)网络存储基于标准网络协议实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据 ...

  7. 使用 Ansible 管理 MySQL 复制

    Ansible 是一个新兴的 IT 自动化工具.本文将介绍如何通过 Ansible 配置及管理 MySQL 主.从复制环境,实现部署过程自动化,体验 Ansible 简单快速带来的快感. 简介: An ...

  8. div+css 左右两列自适应高度 ,以及父级div也跟着自适应子级的高度(兼容各大浏览器)

    <style type="text/css" media="screen"> <!-- #main {width:500px;_height: ...

  9. Sql Server 2005如何导入DBF文件?

    提问者采纳   select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DA ...

  10. 【开发工具】最强Git使用总结

    目录 必读材料 常用小结 Git操作流程 Git常用操作命令 - 代码提交和同步代码 Git常用操作命令 - 代码撤销和撤销同步 Git常用操作命令 - 其它常用命令 Git是分布式代码托管的标杆,这 ...