Tomcat集群---Cluster节点配置(转)
生活随笔
收集整理的這篇文章主要介紹了
Tomcat集群---Cluster节点配置(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<!-- Cluster(集群,族) 節點,如果你要配置tomcat集群,則需要使用此節點.className 表示tomcat集群時,之間相互傳遞信息使用那個類來實現信息之間的傳遞.channelSendOptions可以設置為2、4、8、10,每個數字代表一種方式2 = Channel.SEND_OPTIONS_USE_ACK(確認發送)4 = Channel.SEND_OPTIONS_SYNCHRONIZED_ACK(同步發送) 8 = Channel.SEND_OPTIONS_ASYNCHRONOUS(異步發送)在異步模式下,可以通過加上確認發送(Acknowledge)來提高可靠性,此時channelSendOptions設為10
-->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"><!--Manager決定如何管理集群的Session信息。Tomcat提供了兩種Manager:BackupManager和DeltaManagerBackupManager-集群下的所有Session,將放到一個備份節點。集群下的所有節點都可以訪問此備份節點DeltaManager-集群下某一節點生成、改動的Session,將復制到其他節點。DeltaManager是Tomcat默認的集群Manager,能滿足一般的開發需求使用DeltaManager,每個節點部署的應用要一樣;使用BackupManager,每個節點部署的應用可以不一樣.className-指定實現org.apache.catalina.ha.ClusterManager接口的類,信息之間的管理.expireSessionsOnShutdown-設置為true時,一個節點關閉,將導致集群下的所有Session失效notifyListenersOnReplication-集群下節點間的Session復制、刪除操作,是否通知session listenersmaxInactiveInterval-集群下Session的有效時間(單位:s)。maxInactiveInterval內未活動的Session,將被Tomcat回收。默認值為1800(30min)--><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><!--Channel是Tomcat節點之間進行通訊的工具。Channel包括5個組件:Membership、Receiver、Sender、Transport、Interceptor--><Channel className="org.apache.catalina.tribes.group.GroupChannel"><!--Membership維護集群的可用節點列表。它可以檢查到新增的節點,也可以檢查到沒有心跳的節點className-指定Membership使用的類address-組播地址port-組播端口frequency-發送心跳(向組播地址發送UDP數據包)的時間間隔(單位:ms)。默認值為500dropTime-Membership在dropTime(單位:ms)內未收到某一節點的心跳,則將該節點從可用節點列表刪除。默認值為3000注: 組播(Multicast):一個發送者和多個接收者之間實現一對多的網絡連接。一個發送者同時給多個接收者傳輸相同的數據,只需復制一份相同的數據包。它提高了數據傳送效率,減少了骨干網絡出現擁塞的可能性相同組播地址、端口的Tomcat節點,可以組成集群下的子集群--><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><!--Receiver : 接收器,負責接收消息接收器分為兩種:BioReceiver(阻塞式)、NioReceiver(非阻塞式)className-指定Receiver使用的類address-接收消息的地址port-接收消息的端口autoBind-端口的變化區間如果port為4000,autoBind為100,接收器將在4000-4099間取一個端口,進行監聽selectorTimeout-NioReceiver內輪詢的超時時間maxThreads-線程池的最大線程數--><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><!--Sender : 發送器,負責發送消息Sender內嵌了Transport組件,Transport真正負責發送消息--><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><!--Transport分為兩種:bio.PooledMultiSender(阻塞式)、nio.PooledParallelSender(非阻塞式) --><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><!--Interceptor : Cluster的攔截器TcpFailureDetector-網絡、系統比較繁忙時,Membership可能無法及時更新可用節點列表,此時TcpFailureDetector可以攔截到某個節點關閉的信息,并嘗試通過TCP連接到此節點,以確保此節點真正關閉,從而更新集群可以用節點列表 --><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><!--MessageDispatch15Interceptor-查看Cluster組件發送消息的方式是否設置為Channel.SEND_OPTIONS_ASYNCHRONOUS(Cluster標簽下的channelSendOptions為8時)。設置為Channel.SEND_OPTIONS_ASYNCHRONOUS時,MessageDispatch15Interceptor先將等待發送的消息進行排隊,然后將排好隊的消息轉給Sender--><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/></Channel><!--Valve : 可以理解為Tomcat的攔截器ReplicationValve-在處理請求前后打日志;過濾不涉及Session變化的請求 vmRouteBinderValve-Apache的mod_jk發生錯誤時,保證同一客戶端的請求發送到集群的同一個節點--><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><!--Deployer : 同步集群下所有節點的一致性。Deployer沒試驗成功過。。。--><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><!--ClusterListener : 監聽器,監聽Cluster組件接收的消息使用DeltaManager時,Cluster接收的信息通過ClusterSessionListener傳遞給DeltaManager--><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
?
轉載地址:http://blog.csdn.net/Readiay/article/details/45393435
總結
以上是生活随笔為你收集整理的Tomcat集群---Cluster节点配置(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql trim()函数去掉两头空格
- 下一篇: 软考网络工程师--计算机硬件基础