クラスタチャネルオブジェクト

目次

概要

クラスタチャネルは、私たちがApache Tribesと名付けた小さなフレームワークの主要コンポーネントです。
チャネルは一連のサブコンポーネントを管理し、それらが連携してグループ通信フレームワークを作成します。
このフレームワークは、異なるTomcatインスタンス間でメッセージを送信する必要があるコンポーネントによって内部的に使用されます。
これらのコンポーネントのいくつかの例としては、DeltaManagerのメッセージングを行うSimpleTcpClusterや、異なるレプリケーション戦略を使用するBackupManagerなどがあります。 ReplicatedContextオブジェクトも、コンテキスト属性の変更を伝達するためにチャネルオブジェクトを使用します。

ネストされたコンポーネント

Channel/Membership:
Membershipコンポーネントは、クラスタ内の新しいノードを自動的に検出する役割と、ハートビートに応答しなかったノードに関する通知を提供することです。 デフォルトの実装では、マルチキャストを使用します。
membershipコンポーネントでは、ノード(別名:メンバー)がどのように検出または分割されるかを設定します。 Apache Tribes の詳細については、いつでも確認できます。

Channel/Sender:
Senderコンポーネントは、ネットワーク経由で1つのノードから別のノードに送信されるすべてのアウトバウンド接続とデータメッセージを管理します。 このコンポーネントを使用すると、メッセージを並行して送信できます。 デフォルトの実装では、TCPクライアントソケットを使用し、発信メッセージのソケットチューニングがここで構成されます。
Apache Tribes の詳細については、いつでも確認できます。

Channel/Sender/Transport:
Transportコンポーネントは、senderコンポーネントの最下層のIOレイヤーです。 デフォルトの実装では、ノンブロッキングTCPクライアントソケットを使用します。
Apache Tribes の詳細については、いつでも確認できます。

Channel/Receiver:
レシーバーコンポーネントは、他のノードからのメッセージをリッスンします。 ここでは、クラスタスレッドプールを設定します。これは、受信メッセージを高速処理のためにスレッドプールにディスパッチするためです。 デフォルトの実装では、ノンブロッキングTCPサーバーソケットを使用します。
Apache Tribes の詳細については、いつでも確認できます。

Channel/Interceptor:
チャネルは、インターセプタースタックを介してメッセージを送信します。 このため、メッセージの送受信方法、さらにはメンバーシップの処理方法をカスタマイズできます。
Apache Tribes の詳細については、いつでも確認できます。

属性

共通属性

属性説明
classNameここのデフォルト値は org.apache.catalina.tribes.group.GroupChannel であり、現在利用可能な唯一の実装です。

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

属性説明
heartbeatチャネルが独自のハートビートを管理するかどうかのフラグ。 trueに設定すると、チャネルはハートビート用のローカルスレッドを開始します。 このフラグをfalseに設定した場合は、SimpleTcpCluster#heartbeatBackgroundEnabledをtrueに設定する必要があります。 デフォルト値はtrueです。
heartbeatSleeptimeheartbeat == trueの場合、ハートビートスレッドの間隔をミリ秒単位で指定します。 デフォルトは5000(5秒)です。
optionChecktrueに設定すると、GroupChannelは各インターセプターが使用しているオプションフラグを確認します。 2つのインターセプターが同じフラグを共有している場合、エラーを報告します。 デフォルトはfalseです。
jmxEnabledチャネルコンポーネントをJMXに登録するかどうかのフラグ。 デフォルト値はtrueです。
jmxDomainjmxEnabledがtrueに設定されている場合、このチャネルが登録されるJMXドメインを指定します。 ClusterChannelがデフォルト値として使用されます。
jmxPrefixjmxEnabledがtrueに設定されている場合、チャネルObjectNameで使用されるJMXプレフィックスを指定します。