群集通道物件

目錄

簡介

群集通道是我們暱稱為 Apache Tribes 的小型架構的主要元件。
通道管理一組次要元件,它們共同建立群組通訊架構。
此架構接著由需要在不同 Tomcat 實例之間傳送訊息的元件內部使用。
這些元件的幾個範例包括執行 DeltaManager 訊息傳遞的 SimpleTcpCluster,或使用不同複製策略的 BackupManager。ReplicatedContext 物件也使用通道物件來傳達內容屬性變更。

巢狀元件

通道/成員資格:
成員資格元件負責在群集中自動發現新節點,並提供未回應心跳的任何節點的通知。預設實作使用多播。
在成員資格元件中,您可以設定如何發現和/或區分節點(又稱成員)。您隨時可以深入了解 Apache Tribes

通道/傳送器:
傳送器元件管理從一個節點傳送至另一個節點的所有出站連線和資料訊息。此元件允許平行傳送訊息。預設實作使用 TCP 伺服器端通訊端點,並在此處設定傳出訊息的通訊端點調整。
您隨時可以深入了解 Apache Tribes

頻道/傳送者/傳輸:
傳輸元件是傳送者元件的底層 IO 層。預設實作使用非封鎖 TCP 客户端套接字。
您隨時可以深入了解 Apache Tribes

通道/接收器:
接收器元件會聆聽來自其他節點的訊息。您將在此設定叢集執行緒池,因為它會將接收訊息傳送至執行緒池以加快處理速度。預設實作使用非封鎖 TCP 伺服器套接字。
您隨時可以深入了解 Apache Tribes

通道/攔截器:
頻道會透過攔截器堆疊傳送訊息。因此,您可以自訂訊息傳送和接收的方式,甚至可以自訂成員資格處理方式。
您隨時可以深入了解 Apache Tribes

屬性

共用屬性

屬性 說明
className 此處的預設值為 org.apache.catalina.tribes.group.GroupChannel,目前是唯一可用的實作。

org.apache.catalina.tribes.group.GroupChannel 屬性

屬性 說明
heartbeat 旗標表示頻道是否管理自己的心跳。如果設為 true,頻道會啟動一個本機執行緒用於心跳。如果將此旗標設為 false,您必須將 SimpleTcpCluster#heartbeatBackgroundEnabled 設為 true。預設值為 true。
heartbeatSleeptime 如果 heartbeat == true,請指定心跳執行緒的間隔(以毫秒為單位)。預設值為 5000(5 秒)。
optionCheck 如果設為 true,GroupChannel 會檢查每個攔截器使用的選項旗標。如果兩個攔截器共用同一個旗標,則會回報錯誤。預設值為 false。
jmxEnabled 旗標表示頻道元件是否註冊至 JMX。預設值為 true。
jmxDomain 如果將 jmxEnabled 設為 true,請指定此頻道應註冊的 jmx 網域。ClusterChannel 用作預設值。
jmxPrefix 如果將 jmxEnabled 設為 true,請指定將與頻道 ObjectName 一起使用的 jmx 前置詞。