Tomcat 6.0 集群對象

官網(wǎng)文檔:https://tomcat.apache.org/tomcat-6.0-doc/config/cluster.html
本文為譯文,屬個人英語學習文,如誤導了你,先說聲抱歉。

  1. 介紹
    Tomcat 集群實現(xiàn)會話復制,上下文屬性復制和集群內(nèi)war的部署。
    雖然集群配置相當復雜,默認配置能符合大多數(shù)人的工作需要。
    Tomcat 集群具有很好的擴展性,因此我們有很多的選擇,使得配置項看起來很多很多,但不要灰心,相反你有很大的控制能力,知道事情是怎么回事。
  2. Engine vs Host placement(引擎VS主機配置)
    你可以將<Cluster>元素放在<Engine>或<Host>容器中。
    把它放在引擎,意味著你將支持Tomcat集群中所有的虛擬主機,并分享消息組件。
    把<Cluster>放在<Engine>元素中,群集將每個會話管理器的主機名追加到管理器名稱中,因此兩個上下文會有相同名稱,但在兩個不同的主機內(nèi)是可區(qū)分的。
  3. 上下文屬性復制
    配置上下文屬性復制,簡單地配置這個 將應(yīng)用的上下文通過交換來實現(xiàn)。
<Context className="org.apache.catalina.ha.context.ReplicatedContext"/>

本文擴展了Tomcat StandardContext
因此,來自base implementation的所有選項都是有效的。

  1. 嵌套組件
    Manager
    會話管理器元素確定在集群實現(xiàn)中使用的是什么類型的會話管理器。此管理器配置與您在常規(guī)的<Context>配置相同。
    默認值是org.apache.catalina.ha.session.deltamanager是緊耦合的,用simpletcpcluster實現(xiàn)。
    其他管理如org.apache.catalina.ha.session.backupmanager
    是散耦合,且不依賴于SimpleTcpCluster的數(shù)據(jù)復制。
    Channel
    通道和它的子組件都是集群組輸入輸出層的一部分,
    它自己有一個模塊,已被命名為"Tribes"。
    任何配置和調(diào)優(yōu)的網(wǎng)絡(luò)層、消息傳遞和會員的邏輯將在通道和它的嵌套組件中完成。
    你可以找到更多關(guān)于的Apache Tribes 信息
    Valve
    Tomcat集群使用valve來追蹤請求進入和退出的servlet容器。
    使用valve總能做出明智的判斷出在最后一個請求時做復制數(shù)據(jù)。
    Deployer
    Deployer組件是Tomcat的Fram Deployer。它在集群中部署和取消部署應(yīng)用。
    ClusterListener
    ClusterListener用于跟蹤消息發(fā)送和使用simpletcpcluster接收消息。如果您希望跟蹤消息,可以在這里添加一個偵聽器,或者您可以向channel對象添加一個valve。
  2. 棄用的配置項
    棄用設(shè)置:在以前版本的Tomcat,你能夠管理會話管理器設(shè)置使用管理器。<property>=value.現(xiàn)在已停止使用,因它會干擾
    在一個集群中支持多個不同管理器類的能力,且相同的屬性可能會對不同的管理人員有不同的效果。
  3. 屬性
    simpletcpcluster屬性
    className
    主要的集群類,當前只有一個可用 org.apache.catalina.ha.tcp.SimpleTcpCluster

channelSendOptions
Tribes channel發(fā)送選項,默認為8 此選項用于設(shè)置標志,通過simpletcpcluster將消息發(fā)給所有人。該標志決定消息是如何發(fā)送的,是一個簡單的邏輯或。

int options= Channel.SEND_OPTIONS_ASYNCHRONOUS | 
                  Channel.SEND_OPTIONS_SYNCHRONIZED_ACK | 
                     Channel.SEND_OPTIONS_USE_ACK;
Some of the values are:
      Channel.SEND_OPTIONS_SYNCHRONIZED_ACK = 0x0004
      Channel.SEND_OPTIONS_ASYNCHRONOUS = 0x0008
      Channel.SEND_OPTIONS_USE_ACK = 0x0002
因此,當使用ACK和ASYNC消息時,則flag需時10(8+2)
注意如果你使用異步消息傳遞,可以處理為一個會話更新消息的接收節(jié)點以不同的順序的順序發(fā)送。

channelStartOptions
設(shè)置群集的<Channel>對象的開始和停止標志。
默認的是channel.default開啟所有服務(wù),如發(fā)送、接收、組播發(fā)送者和接收者。
可用的標志如下:

Channel.DEFAULT = Channel.SND_RX_SEQ (1)| Channel.SND_TX_SEQ (2)| Channel.MBR_RX_SEQ (4)| Channel.MBR_TX_SEQ (8);

不使用組播而開啟一個channel,你需要使用channel.snd_rx_seq 或 channel.snd_tx_seq等于3。
heartbeatBackgroundEnabled
標記在容器后臺線程中是否調(diào)用channel心跳。默認值是false。
啟用此標志不要忘記禁用channel心跳線
notifyLifecycleListenerOnFailure
標記是否通知LifecycleListeners,當所有ClusterListener無法接收channel消息時,默認值是false。
doClusterLog
在6.0.0版本中廢棄
可用的值為true/ false
值繼承自Tomcat 5.5,官方并沒有給出明確意思。
配置日志記錄,使用標準的Tomcat日志配置。
clusterLogName
值繼承自Tomcat 5.5,官方并沒有給出明確意思。
配置日志記錄,使用標準的Tomcat日志配置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容