5.4. JGroups スタックのカスタマイズ
プロパティーを調整してチューニングし、ネットワーク要件に対応するクラスタートランスポート設定を作成します。
Data Grid は、設定を容易にするためにデフォルトの JGroups スタックを拡張する属性を提供します。他のプロパティーを組み合わせてデフォルトスタックからプロパティーの継承、削除、置き換えを行うことができます。
手順
-
infinispan.xml
ファイルに新しい JGroups スタック宣言を作成します。 -
extends
属性を追加し、プロパティーを継承する JGroups スタックを指定します。 -
stack.combine
属性を使用して、継承されたスタックに設定されたプロトコルのプロパティーを変更します。 -
stack.position
属性を使用して、カスタムスタックの場所を定義します。 スタック名を
transport
設定のstack
属性の値として指定します。たとえば、以下のようにデフォルトの TCP スタックで Gosssip ルーターと対称暗号化を使用して評価できます。
<infinispan> <jgroups> <!-- Creates a custom JGroups stack named "my-stack". --> <!-- Inherits properties from the default TCP stack. --> <stack name="my-stack" extends="tcp"> <!-- Uses TCPGOSSIP as the discovery mechanism instead of MPING --> <TCPGOSSIP initial_hosts="${jgroups.tunnel.gossip_router_hosts:localhost[12001]}" stack.combine="REPLACE" stack.position="MPING" /> <!-- Removes the FD_SOCK2 protocol from the stack. --> <FD_SOCK2 stack.combine="REMOVE"/> <!-- Modifies the timeout value for the VERIFY_SUSPECT2 protocol. --> <VERIFY_SUSPECT2 timeout="2000"/> <!-- Adds SYM_ENCRYPT to the stack after VERIFY_SUSPECT2. --> <SYM_ENCRYPT sym_algorithm="AES" keystore_name="mykeystore.p12" keystore_type="PKCS12" store_password="changeit" key_password="changeit" alias="myKey" stack.combine="INSERT_AFTER" stack.position="VERIFY_SUSPECT2" /> </stack> </jgroups> <cache-container name="default" statistics="true"> <!-- Uses "my-stack" for cluster transport. --> <transport cluster="${infinispan.cluster.name}" stack="my-stack" node-name="${infinispan.node.name:}"/> </cache-container> </infinispan>
Data Grid ログをチェックして、スタックを使用していることを確認します。
[org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel cluster with stack my-stack
参照
- JGroups cluster transport configuration for Data Grid 8.x (Red Hat ナレッジベースの記事)
5.4.1. 継承属性
JGroups スタックを拡張すると、継承属性により、拡張しているスタックでプロトコルやプロパティーを調整できます。
-
stack.position
は、変更するプロトコルを指定します。 stack.combine
は、次の値を使用して JGroups スタックを拡張します。値 説明 COMBINE
プロトコルプロパティーをオーバーライドします。
REPLACE
プロトコルを置き換えます。
INSERT_AFTER
別のプロトコルの後にプロトコルをスタックに追加します。挿入ポイントとして指定するプロトコルには影響しません。
JGroups スタックのプロトコルは、スタック内の場所を基にして相互に影響します。
NAKACK2
がセキュリティーで保護されるように、たとえば、SYM_ENCRYPT
プロトコルまたはASYM_ENCRYPT
プロトコル後にNAKACK2
などのプロトコルを置く必要があります。INSERT_BEFORE
別のプロトコルの前にプロトコルをスタックに挿入します。挿入ポイントとして指定するプロトコルに影響します。
REMOVE
スタックからプロトコルを削除します。