當前位置:首頁 » 雲伺服器 » 伺服器搭建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",運行時須確保機器聯網能訪問到該地址,否則可能運行失敗。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:528
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:25
linux485 發布:2025-07-05 14:38:28 瀏覽:305
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:756
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:432
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:707
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:243
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:686
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:285
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:835