当前位置:首页 » 云服务器 » 服务器搭建tomcat集群

服务器搭建tomcat集群

发布时间: 2022-05-25 10:13:30

㈠ 两台服务器能做tomcat集群吗

可以,tomcat集群只要是多个tomcat进程就可以做集群。实际上,一台服务器上多个tomcat进程就可以做集群。两台自然也可以

㈡ 两台服务器部署12个tomcat ,怎么做集群和解决文件同步的问题

集群的话可以用Apache加Tomcat的JK插件
至于说文件同步问题,你说的文件同步是WEB项目中的文件的同步吗?同一服务器上可以把不同Tomcat的虚拟目录配置到同一个文件夹下,不同电脑的话可以考虑做局域网,共享虚拟驱动器,直接访问WEB项目存放路径,这样就不存在文件同步问题了,项目只有一份

㈢ 一个服务器上的tomcat集群如何设置

Web请求集群环境下流程

1、启动访问起始页(http://localhost:8080/balancer/testLB.jsp)

2、JSP重定向请求到负载均衡过滤文件(http://localhost:8080/balancer/LoadBalancer)

3、负载均衡的tomcat接受请求,根据制定的负载均衡算法,重定向到可用的集群节点(TC01、TC02、TC03)

4、对应集群中节点的sessiondata.jsp(位于clusterapp应用下)页面将启动。

5、sesiondata.jsp将在web上显示会话的详细信息(如会话ID,最后访问时间)
在测试的过程中采用RoundRobin算法,通过对Instance 1发起多个http://localhost:8080/balancer/testLB.jsp测试请求,发现每个请求返回页面的端口号不完全一致,在9080、10080、11080端口不规则的出现,即客户端的访问请求按照RoundRobin算法被重定向到不同的服务器上进行处理,说明该负载均衡规则在这个测试中得到正确的体现。在关闭集群中一个节点后再启用它,能够自动发现该节点,并为该节点分配请求。

㈣ 低硬件环境下的Tomcat集群如何搭建

搭建apache+tomcat集群的方法:
1、安装tomcat+apache+mysql
2、修改tomcat的端口,即修改server.xml中的配置,并修改 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat_8084">
3、修改httpd.conf,解注释Include conf.d/*.conf
4、在conf.d文件夹中加入xxx.conf文件,在该文件中添加如下配置:
#LoadMole proxy_http_mole moles/mod_proxy_http.so

ProxyRequests Off

ProxyPass / balancer://chinatrial-cluster/ stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / http://127.0.0.1:8084/
ProxyPassReverse / http://127.0.0.1:8184/
#ProxyPassReverse / http://127.0.0.1:8380/
<Proxy balancer://chinatrial-cluster>
BalancerMember http://127.0.0.1:8084/ max=800 loadfactor=10 route=tomcat_8084
BalancerMember http://127.0.0.1:8184/ max=800 loadfactor=10 route=tomcat_8184
# BalancerMember http://127.0.0.1:8380/ max=800 loadfactor=10 route=chinatrial_8080
</Proxy>
其中route后面的值是和tomcat的server.xml中的<Engine>中的jvmRoute相对应
5、实现session共享
数据库中建session共享表:
CREATE DATABASE `session`
USE `session`;

DROP TABLE IF EXISTS `session`.`tomcat_sessions`;
CREATE TABLE `session`.`tomcat_sessions` (
`session_id` varchar(100) NOT NULL,
`valid_session` char(1) NOT NULL,
`max_inactive` int(11) NOT NULL,
`last_access` bigint(20) NOT NULL,
`app_context` varchar(255) default NULL,
`session_data` mediumblob,
PRIMARY KEY (`session_id`),
KEY `kapp_context` (`app_context`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
6、在项目的context.xml中进行Manager的配置:
<Manager className="org.apache.catalina.session.PersistentManager"
debug="99" saveOnRestart="true" maxActiveSessions="-1"
minIdleSwap="30" maxIdleSwap="600" maxIdleBackup="0">
<Store className="org.apache.catalina.session.JDBCStore"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://172.16.100.229/session?user=root&password=nazca123&useUnicode=true&characterEncodeing=utf-8"
sessionTable="tomcat_sessions" sessionIdCol="session_id"
sessionDataCol="session_data" sessionValidCol="valid_session"
sessionMaxInactiveCol="max_inactive"
sessionLastAccessedCol="last_access" sessionAppCol='app_context'
checkInterval="60" debug="0" />
</Manager>

㈤ 谁能给我套TOMCAT集群服务器配置

数据库分离了没?如果已经分离了,有单独的sql服务器,tomcat服务器只跑tomcat软件,对服务器的要求就要低一些。

建议用双路六核的服务器,这样以后CPU性能不够了,还可以增加处理器,提高计算性能,就不用在托管一台服务器,增加无谓的托管费。你可以看看国产品牌正睿的这款最新SNB-E架构的双路四核服务器。标配一颗至强E5-2420六核十二线程处理器(1.9GHz/7.2GT/15M缓存),英特尔C602服务器芯片组主板,8G DDR3 REG ECC 1333MHz内存,SSD 256G高性能固态硬盘(读500MB/s,写260MB/s),8个热插拔盘位,允许用户在不关闭服务器的情况下增加或减少硬盘,便于维护,双千兆网卡,性能可以说是非常不错。如果以后随着业务量的增长,觉得性能不够用了,还可以扩展到两颗处理器,达成12颗处理核心,24条处理线程(在任务管理器处能看到24个处理核心的格子- -~很NB),最大支持192GB DDR3 REG ECC高速容错校验内存。
产品型号:I21S3-6798HV
产品类型:双路六核机架式服务器
处 理 器:Xeon E5-2420
内 存:8G DDR3 REG ECC
硬 盘:SSD 256G
机 构:1U机架式
价 格:¥12990

银牌服务
全国三年免费上门售后服务,关键部件三年以上免费质保。

给你推荐的是国产品牌正睿的服务器产品,他们的产品性价比很高,做工很专业,兼容性,质量之类的都有保障,售后也很完善,3年免费质保,3年免费上门售后服务,在业界口碑很不错。

㈥ 如何在Ubuntu上配置Tomcat集群

多安装几个tomcat,并配置不同的端口号。关键在于修改这一行,添加jvmRoute="jvm1"
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">,不同的tomcat修改成不同的值,可以叫jvm1、jvm2、jvm3,自己定。

然后通过apache(或ngix或其它web服务器),通过代理或Jk方式,配置一个负载均衡。如下apache tomcat集群配置。

APACHE 2.2.8 TOMCAT6.0.14配置负载均衡
目标:
使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:
1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。
2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat
3、 为系统屏蔽文件列表,包括 Apache 和 tomcat
注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。
一、前期准备工作:安装用的程序(前提保证已安装了JDK1.5以上的版本)
APAHCE 2.2.8下载:apache_2.2.8-win32-x86-no_ssl.msi
TOMCAT6.0.14下载:apache-tomcat-6.0.14.zip直接解压
二、安装过程
APAHCE安装目录:D:\Apache。
四个TOMCAT目录:自行解压到(D:\Tomcat集群服务器\)下。分别为 tomcat6.0,tomcat6.01,tomcat6.02,tomcat6.03
这几个安装过程就不详细说明了。

㈦ 如何在服务器上搭建tomcat服务器

配置jdk环境变量,因为tomcat是基于java的,需要jdk的支持才能运行

配置tomcat容器的相关文件
Server.xml和conf\Catalina\localhost目录下创建新的xml

新建web java projectWEB-INF目录下的文件外部是不能访问到的,因此jsp文件一般放在WEB-INF文件外面,class文件一般放在WEB-INF文件里面
配置WebContent/WEB-INF/web.xml文件
访问project
http://localhost:8080/TestTomcat2/WebContent

㈧ tomcat集群是怎样弄的

APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
目标:
使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:
1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。
2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat
3、 为系统屏蔽文件列表,包括 Apache 和 tomcat
注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。
一、前期准备工作:安装用的程序(前提保证已安装了JDK1.5以上的版本)
APAHCE 2.2.8下载:apache_2.2.8-win32-x86-no_ssl.msi
TOMCAT6.0.14下载:apache-tomcat-6.0.14.zip直接解压。
二、安装过程
APAHCE安装目录:D:\Apache。
四个TOMCAT目录:自行解压到(D:\Tomcat集群服务器\)下。分别为 tomcat6.0,tomcat6.01,tomcat6.02,tomcat6.03
这几个安装过程就不详细说明了。
三、配置
1、Apache配置
1.1、httpd.conf配置
修改APACHE的配置文件D:\Apache \conf\httpd.conf
将以下Mole的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
LoadMole proxy_ajp_mole moles/mod_proxy_ajp.so
LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
再找到<IfMole dir_mole></IfMole>加上index.jsp修改成
<IfMole dir_mole>
DirectoryIndex index.html index.jsp
</IfMole>
1.1.1、 在最下面加入
ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2
BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3
BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4
</proxy>
上面的四个BalancerMember成员是我们配置的tomcat集群。后面会说明的。
1.2、httpd-vhosts.conf设置
接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下:
首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)
把注释去掉。
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
在文件(extra/httpd-vhosts.conf)最下面加入
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
</VirtualHost>
其中的域名和路径根据你自己情况设置
然后再设置TOMCAT虚拟主机
2 配置 tomcat
2.1. 配置 server 的关闭
我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。其中tomcat6.0用默认值,不修改。其他三个修改。在tomcat6.01\conf, tomcat6.02\conf下和tomcat6.03\conf下的 server.xml 中找到 server, 将:
<Server port="8005" shutdown="SHUTDOWN">
改为
<Server port="XXXX" shutdown="SHUTDOWN">
XXXX 在这里表示不同的端口:我的其它三个 tomcat 分别使用 9005,8006 , 9007
2.2. 配置 Engine
把原来的配置注释掉,把下面一句去掉注释。并标明jvmRoute="jvm2".
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">
以下是原来的配置。
<!-- <Engine name="Catalina" defaultHost="localhost"> -->
其他(tomcat6.02和tomcat6.03)也要同样 配置。注意:jvmRoute配置不要一样。
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm3">
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm4">
2.3. 配置 Connector
原来的默认配置。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。也可以用HTTP协议。大家注意它们是如何连接通信的,上面的红色部分(port="8009")就是连接的接口了。
把其他三个tomcat的<Connector port="XXX" />port分别改成与上面
<proxy balancer://cluster>
#与tomcat6.0对应,route与<Engine jvmRoute="jvm1">对应。
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
#与tomcat6.01对应,route与<Engine jvmRoute="jvm2">对应。
BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2
#与tomcat6.02对应,route与<Engine jvmRoute="jvm3">对应。
BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3
#与tomcat6.03对应,route与<Engine jvmRoute="jvm4">对应。
BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4
</proxy>
中的端口对应,tomcat6.01 的ajp端口port:9009. tomcat6.02 的ajp端口port:9001。tomcat6.03 的ajp端口port:9003.一定要与上面的一致。同时也要把redirectPort的值改成唯一的,确保四个tomcat的都不一样。
2.5.配置Cluster(每个tomcat中都要修改)
原来的配置。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改为以下的代码:<Receiver port=”XX”/>port也要保证唯一性。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
<!--
<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="5001"
selectorTimeout="100"
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.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<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>
这个设置是主要用以tomcat的集群。
四、启动服务,测试tomcat自带的例子
1、测试apache和tomcat协作。
先在每个tomcat中的\webapps\ROOT下的index.jsp下面加上以下的测试代码部分:(X代表不同的tomcat的输出不同的信息),把index.html删除,以免影响测试效果。在最后面的加上.即</table></body>之间。
<%
System.out.println("tomcat6.0X deal with request");
%>
然后再通过http:// 127.0.0.1来访问一下,就会出现大家熟悉的猫猫。
然后再通过分别访问
http:// 127.0.0.1:8080, http:// 127.0.0.1:9080,http:// 127.0.0.1:8081,http:// 127.0.0.1:9002它们访问的内容和上面的http:// 127.0.0.1是一样的。
这样就说明apache和TOMCAT整合成功!
2、测试均衡器
通过http:// 127.0.0.1多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软Microsoft Web Application Stress Tool进行简单压力测试,不然你靠不停刷新是体现不出来的,你只会在一个tomcat的控制台有输出结果。只用用压力测试工具模拟大量用户同时访问,你会发现四个tomcat控制台均有打出控制信息,说明均衡器工作正常。

㈨ 如何搭建apache+tomcat集群

在实际应用中,如果网站的访问量很大,为了提高访问速度,可以与多个Tomcat服务器与Apache服务器集成,让他们共同运行servlet/jsp组件的任务,多个Tomcat服务器构成了一个集群(Cluster)系统,共同为客户提供服务。集群系统具有以下优点:

高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。
负载平衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。

原理:JK插件的负载均衡器根据在worker.properties中配置的lbfactor(负载平衡因数),负责为集群系统中的Tomcat服务器分配工作负荷,以实现负载平衡。每个Tomcat服务器间用集群管理器(SimpleTcpCluster)进行通信,以实现HTTP回话的复制,比如Session。

下面我们在一台机器上配置一个Apache和两个Tomcat服务器集群:

2.安装Apache,安装两个Tomcat,并把一个测试项目放到两个Tomcat的webapps目录下以便以后测试。

3.把mod_jk.so复制到<apache_home>/moles下。

4.在<apache_home>/conf目录下创建:workers.properties文件:



"pln">worker "pun">. "pln">list "pun">= "pln">worker1 "pun">, "pln">worker2 "pun">, "pln">loadbalancer "com">#apache把Tomcat看成是工人,loadbalancer是负载均衡器

worker.worker1.host=localhost#Tomcatworker1服务器
worker.worker1.port=8009#Tomcat端口
worker.worker1.type=ajp13#协议
worker.worker1.lbfactor=100#负载平衡因数

worker.worker2.host=localhost#Tomcatworker2服务器
worker.worker2.port=8009#因为在一台机器上所以端口不能一样
worker.worker2.type=ajp13#协议
worker.worker2.lbfactor=100#设为一样代表两台机器的负载相同

worker.loadbalancer.type=1b
worker.loadbalancer.balanced_workers=worker1,worker2
worker.loadbalancer.sticky_seesion=false
worker.loadbalancer.sticky_session_force=false

说明:1.worker.loadbalancer.sticky_seesion如果设为true则说明会话具有“粘性”,也就是如果一个用户在一个Tomcat中建立了会话后则此后这个用户的所有操做都由这个Tomcat服务器承担。集群系统不会进行会话复制。如果设为false则下面的 sticky_session_force无意义。

2.sticky_session_force:假设sticky_session设为true,用户会话具有了粘性,当当前Tomcat服务器停止服务后,如果sticky_session_force为true也就是强制会话与当前Tomcat关联,那么会报500错误,如果设为false则会转到另外的Tomcat服务器。

5.修改<apache_home>/conf/httpd.conf文件,在文件后面加上:



"com">#Tomcat集群配置
"com">LoadMolejk_molemoles/mod_jk.so
JkWorkersFileconf/workers.properties
#我的工人们
JkLogFilelogs/mod_jk.log
#日志文件
JkLogLeveldebug
#tomcat运行模式
JkMount/*.jsploadbalancer
#收到.jsp结尾的文件交给负载均衡器处理
JkMount/helloapp/*loadbalancer
#收到helloapp/路径交给负载均衡器处理

6.修改两个Tomcat的conf/service.xml文件。

6.1首先要修改AJP端口,确保他们与workers.properties中配置的一样

例如按我们上面的配置,只需要把Tomcat2中的AJP端口该为8109即可。

6.2此外在使用了loadbalancer后,要求worker的名字与Tomcat的service.xml中的Engine元素的jvmRoute属性一致,

例如worker1修改为: <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">

6.3另外,如果两台Tomcat服务器装在一台机器上,必须确保他们的端口没有冲突,Tomcat中一共配置了三个端口:

<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" .../>

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />

把其中一个该了让它们不一样就行了。

完成了以上步骤我们的集群算是基本完成了,打开Apache和两个Tomcat 浏览器进入:localhost/demo/ 能够正确访问。

为了测试,我们写一个jsp文件:test.jsp



"tag"><html>
<head>
<title>test</title>
</head>
<body>
<%
System.out.printfln("calltest.jsp");
%>
session:<%=session.getId()%>
</body></html>

把它放到两个Tomcat中的demo项目中,浏览器访问这个页面,每次访问只在一个Tomcat控制台打印语句。

然而页面中的Session Id是会变的。这种情况下如果一个用户正在访问时,如果跳到另一个Tomcat服务器,那么他的session就没有了,可能导致错误。

7.配置集群管理器

如果读者对HttpSession有了解应该知道,用户的会话状态保存在session中,一个浏览器访问多个网页它们的请求始终处于一个会话范围中,因此SessionID应该是不变的。

以上我们看到的浏览器中的SessionID不同,因为转到另一个Tomcat后当前会话就结束了,又在另一个服务器上开启了一个新的会话。那么怎么让多个Tomcat服务器共享一个会话呢?

为了解决上述问题,我们启用Tomcat的集群管理器(SimpleTcpCluster):

7.1修改Tomcat1和Tomcat2的servlet.xml文件,在Engine元素中加入以下Cluster元素



"tag"><Cluster "pln"> "atn">className "pun">= "atv">"org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">

<ManagerclassName="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>

<ChannelclassName="org.apache.catalina.tribes.group.GroupChannel">
<MembershipclassName="org.apache.catalina.tribes.membership.McastService"
bind="127.0.0.1"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>

<ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/>
<ValveclassName="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListenerclassName="org.apache.catalina.ha.session."/>
<ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

关于Cluster的相关介绍参照:<tomcat-home>webappsdocscluster-howto.html <tomcat-home>webappsdocsconfigcluster.html

7.2分别修改Tomcat1和Tomcat2 demo项目的web.xml文件,在后面加入<distributable>元素



"tag"><web-app>
"pln">...
"tag"><distributable/>
</web-app>

如果一个web项目的web.xml文件中指定了<distributable/>元素那么Tomcat服务器启动这个Web应用时,会为它创建由<Cluster>元素指定的会话管理器,这里我们用的是DeltaManager,他们把会话从一个Tomcat服务器复制到集群中另一个Tomcat服务器。

7.3重新启动两个Tomcat,发现Tomcat控制台还是依次打印出Call test.jsp 页面中的SessionID却不变了。测试完成。

重要说明:(1).如果项目要发布到集群上,那么与会话有关的类需要实现java.io.Serializable序列化接口。

(2).集群中Tomcat间用组播方式进行通信,如果机器上有多个网卡则可能导致组播失败,解决的办法是<Cluster>元素的<Membership>元素配置bind属性,它用于明确知道组播地址:

<Membership className="org.apache.catalina.tribes.membership.McastService"bind="127.0.0.1".../>

(3).如果集群较小,可以采用DeltaManager会话管理器,如果多的话建议使用BackupManager

(4).<Membership>的address设为"228.0.0.4",运行时须确保机器联网能访问到该地址,否则可能运行失败。

热点内容
ftp下载软件安卓 发布:2025-02-12 23:07:24 浏览:565
c搜索算法 发布:2025-02-12 23:05:47 浏览:860
返回服务器地址 发布:2025-02-12 23:05:45 浏览:179
我的世界推荐在线服务器 发布:2025-02-12 23:00:18 浏览:460
什么是解压目录 发布:2025-02-12 22:49:24 浏览:979
惠普电脑选购要考虑哪些因素配置 发布:2025-02-12 22:43:50 浏览:221
算法导论和算法 发布:2025-02-12 22:43:13 浏览:930
儿童电动车遥控如何配置 发布:2025-02-12 22:37:54 浏览:248
crm客户关系管理源码 发布:2025-02-12 22:34:10 浏览:987
c与java编译过程 发布:2025-02-12 21:47:47 浏览:374