4.2. JGroups スタックのカスタマイズ
プロパティーを調整してチューニングし、ネットワーク要件に対応するクラスタートランスポート設定を作成します。
Data Grid は、設定を容易にするためにデフォルトの JGroups スタックを拡張する属性を提供します。他のプロパティーを組み合わせてデフォルトスタックからプロパティーの継承、削除、置き換えを行うことができます。
手順
infinispan.xmlファイルに新しい JGroups スタック宣言を作成します。<infinispan> <jgroups> <stack name="my-stack">1 </stack> </jgroups> </infinispan>- 1
- "my-stack" という名前のカスタム JGroups スタックを作成します。
extends属性を追加し、プロパティーを継承する JGroups スタックを指定します。<infinispan> <jgroups> <stack name="my-stack" extends="tcp">1 </stack> </jgroups> </infinispan>- 1
- デフォルトの TCP スタックから継承します。
-
stack.combine属性を使用して、継承されたスタックに設定されたプロトコルのプロパティーを変更します。 stack.position属性を使用して、カスタムスタックの場所を定義します。たとえば、以下のようにデフォルトの TCP スタックで Gosssip ルーターと対称暗号化を使用して評価できます。
<jgroups> <stack name="my-stack" extends="tcp"> <TCPGOSSIP initial_hosts="${jgroups.tunnel.gossip_router_hosts:localhost[12001]}" stack.combine="REPLACE" stack.position="MPING" />1 <FD_SOCK stack.combine="REMOVE"/>2 <VERIFY_SUSPECT timeout="2000"/>3 <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_SUSPECT" />4 </stack> </jgroups>スタック名を
transport設定のstack属性の値として指定します。<infinispan> <jgroups> <stack name="my-stack" extends="tcp"> ... </stack> <cache-container name="default" statistics="true"> <transport cluster="${infinispan.cluster.name}" stack="my-stack"1 node-name="${infinispan.node.name:}"/> </cache-container> </jgroups> </infinispan>- 1
- クラスタートランスポートに "my-stack" を使用するように Data Grid を設定します。
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 ナレッジベースの記事)
4.2.1. 継承属性 リンクのコピーリンクがクリップボードにコピーされました!
JGroups スタックを拡張すると、継承属性により、拡張しているスタックでプロトコルやプロパティーを調整できます。
-
stack.positionは、変更するプロトコルを指定します。 stack.combineは、次の値を使用して JGroups スタックを拡張します。値 説明 COMBINEプロトコルプロパティーをオーバーライドします。
REPLACEプロトコルを置き換えます。
INSERT_AFTER別のプロトコルの後にプロトコルをスタックに追加します。挿入ポイントとして指定するプロトコルには影響しません。
JGroups スタックのプロトコルは、スタック内の場所を基にして相互に影響します。
NAKACK2がセキュリティーで保護されるように、たとえば、SYM_ENCRYPTプロトコルまたはASYM_ENCRYPTプロトコル後にNAKACK2などのプロトコルを置く必要があります。REMOVEスタックからプロトコルを削除します。