Tomcat 集群配置

2021-10-04 12:52:10 字數 2494 閱讀 1269

由於單台tomcat的承載能力是有限的,當我們的業務系統使用者量比較大,請求壓力比較大時,單台tomcat是扛不住的,這個時候,就需要搭建tomcat集群,而目前比較流行的做法就是通過nginx來實現tomcat集群的負載均衡。

環境準備

在伺服器上,安裝兩台tomcat,然後分別修改tomcat伺服器的埠號:

第一台      第二台

8005 -----> 8015 ----> 8025 (shutdown埠)

8080 -----> 8888 ----> 9999 (http埠)

8009 -----> 8019 ----> 8029 (ajp埠)

修改tomcat歡迎頁面:

nginx配置:

upstream cluster

server

}

測試:啟動nginx和兩個tomcat,訪問localhost:99

集群搭建成功,實現了負載均衡(輪詢)。

負載均衡策略

輪詢:最基本的配置方法,它是upstream模組預設的負載均衡均衡策略。每個請求會按事件順序逐一分配到不同的後端伺服器

upstream cluster
引數

說明fail_timeout

於max_fails結合使用

max_fails

設定在fail_timeout引數設定的時間內最大失敗次數,如果這個時間內,所有針對該伺服器的請求都失敗了,那麼認為該伺服器停機了

fail_time

伺服器會被認為停機的時間長度,預設為10s

backup

標記該伺服器為備用伺服器。當主伺服器停止時,請求會被傳送到它這裡

down

標記伺服器停機了

weght:權重方式,在輪詢策略的基礎上指定輪詢機率

upstream cluster
weight引數用於指定參與輪詢的機率,weight的預設值為1;weight於訪問機率成正比,次策略比較適合伺服器的硬體配置差別比較大的情況。

ip_hash:指定負載均衡器按照基於客戶端ip的分配方式,這個方法確保了相同的客戶端的請求一直傳送到相同的伺服器,以保證session回話。這樣每個訪客都固定訪問乙個後端伺服器,可以解決session不能跨伺服器的問題

upstream cluster
session共享方案

在tomca集群中,如果應用需要使用者進行登入,那麼這個時候,由於tomcat做了負載均衡,則使用者登入並訪問應用系統時,就會出現問題。

解決上述問題,有以下幾種方案:

一. ip_hash策略

乙個使用者發起的請求,只會請求到同乙個tomcat上。那麼這個時候就不存在session共享問題了。

二. session複製

在server.xml中的標籤中新增如下配置(每個tomcat節點都需要):

classname

="org.apache.catalina.ha.tcp.******tcpcluster"

/>

在web應用的web.xml配置中新增如下配置(部署的每個web應用都需要):

/>

注意:該方案只適用於小型專案,大型集群專案並不使用,因為session的複製需要時間和資源耗費。

三. sso-單點登入

單點登入(single sign on),簡稱sso,是目前比較流行的企業業務整合的解決方案之一。sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所有互相信任的應用系統,也是用來解決集群環境session共享的方案之一。

TOMCAT集群配置

備軟體 tomcat 5.5.9 jdk1.5.0 一 配置過程 1 安裝jdk1.5.0。採用預設安裝就可以。2 安裝tomcat到c tomcat 50,採用完全安裝,該程式用於實現負載均衡功能。3 將tomcat50的內容進行完全複製,生成c tomcat 51 c tomcat 52 c t...

tomcat集群配置

軟體 apache tomcat 6.0.29 mod jk.so httpd.conf的配置 把下面模組的注釋 號去掉,載入這些模組 loadmodule proxy module modules mod proxy.so loadmodule proxy ajp module modules m...

TOMCAT集群配置

我的執行環境 windows2003 server sp4 j2sdk1.5.0 tomcat5.5.9 準備軟體 tomcat 5.5.9 jdk1.5.0 一 配置過程 1 安裝jdk1.5.0。採用預設安裝就可以。2 安裝tomcat到c tomcat 50,採用完全安裝,該程式用於實現負載均...