tomcat集群部署
tomcat集群部署
1 創建2個 tomcat
2 將 tomcat 官網文檔的配置示例復制到 server.xml文件中
3 修改 server.xml 文檔中的參數配置
3.1 Cluster
? ?className表示tomcat集群時,之間相互傳遞信息使用那個類來實現信息之間的傳遞。channelSendOptions可以設置為2、4、8、10,每個數字代表一種方式。
- 2= Channel.SEND_OPTIONS_USE_ACK(確認發送)
- 4 = Channel.SEND_OPTIONS_SYNCHRONIZED_ACK(同步發送)
- 8 = Channel.SEND_OFTIONS_ASYNCHRONOUS(異步發送)
- 在異步模式下,可以通過加上確認發送(Acknowledge)來提高可靠性,此時channelSendOptions設為10
? ?信息傳遞方式一般為異步發送(數字8)
3.2 Manager
? ? ?Manager 決定如何管理集群的 Session 信息。Tomcat 提供了兩種 Manager:
BackupManager 和 DeltaManager。
- BackupManager-集群下的所有 Session,將放到一個備份節點。集群下的所有節點都可以訪問此備份節點
- DeltaManager-集群下某一節點生成、改動的 Session,將復制到其他節點。DeltaManager 是 Tomcat 默認的集群 Manager,能滿足—般的開發需求
? ?使用DeltaManager,每個節點部署的應用要一樣;使用 BackupManager,每個節
點部署的應用可以不一樣。
- className-指定實現 org. apache.catalina.ha.session.BackupManager 接口的類,信息之間的管理
- expireSessionsOnShutdown-設置為 true 時,一個節點關閉,將導致集群下的所有 Session 失效
- notifyListenersOnReplication-集群下節點間的 Session 復制、刪除操作,是否通知 session listeners
3.3 Channel
? ? ?Channel:Tomcat節點之間進行通訊的工具。Channel包括5個組件。Membership、Receiver、Sender 、Transport、Interceptor。
3.2.1 Membership
? ?Membership:維護集群的可用節點列表。它可以檢查到新增的節點,也可以檢查到沒有心跳的節點。
- className-指定 Membership 使用的類 address-組播地址,一般用默認(本機)或者 IP 地址(遠程)
- port-組播端口
- frequency-發送心跳(向組播地址發送IDP數據包)的時間間隔(單位:ms)。默認值為500
- dropTime-Membership 在 dropTime (單位:ms)內未收到某一節點的心跳,則將該節點從可用節點列表冊除。默認值為3000
? ?注:組播(Multicast) :一個發送者和多個接收者之間實現一對多的網絡連接。一個發送者同時給多個接收者傳輸相同的數據,只需復制一份相同的數據包。它提高了數據傳送效率,減少了骨干網絡出現擁塞的可能性。相同組播地址、端口的 Tomcat 節點,可以組成集群下的子集群。
3.2.2 Receiver
? ?Receiver:接收器,負責接收消息。
- className-指定Receiver使用的類(接收器),接收器分為兩種:BioReceiver(阻塞式)、NioReceiver(非阻塞式)
- address-接收消息的地址,如果Tomcat在同一臺機器則address為auto,如果在不同機器,則地址為本機器的IP地址
- port-接收消息的端口,如果不是同一臺機器,port端口號可以相同,如果是同一臺機器則port不同
- autoBind-端口的變化區間,如果port為4000,autoBind為100,接收器將在4000-4099間取一個端口,進行監聽
- selectorTimeout-NioReceiver內輪詢的超時時間maxThreads-線程池的最大線程數
3.2.3 Sender 和 Transport
? ?Sender:發送器,負責發送消息。Sender內嵌了Transport組件,Transport真正負責發送消息。
? ?Transport分為兩種:bio.PooledultiSender(阻塞式)、nio.PooledParallelSender(非阻塞式)。
3.2.4 Interceptor
? ?Interceptor : Cluster的攔截器。
? ?TcpFailureDetector-網絡、系統比較繁忙時,Membership可能無法及時更新可用節點列表,此時TcpFailureDetector可以攔截到某個節點關閉的信息,并嘗試通過TCP連接到此節點。以確保此節點真正關閉,從而更新集群可以用節點列表。
3.4 兩個 tomcat 的各端口(port)不一致
tomcat01:
服務器端口:8005
接收器端口:5000
連接器端口:8080
tomcat02:
服務器端口:8006
接收器端口:5001
連接器端口:8081
3.5 修改第二個tomcat的startup.bat和catalina.bat
增加環境變量CATALINA_HOME2,值為新的tomcat的地址,把其中的CATALINA_HOME改為CATALINA_HOME2。這樣一臺計算機可以開啟兩個tomcat服務器。
4 修改web配置文件
添加標簽
總結
以上是生活随笔為你收集整理的tomcat集群部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 追书神器API接口
- 下一篇: Datagrip免费