日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat集群部署

發布時間:2024/3/26 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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集群部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。