第6章 設定
サーバーは WildFly コードベースをベースとしているため、JGroups、Red Hat Data Grid、および Endpoint サブスキーム以外の WildFly ドキュメントを参照してください。
6.1. JGroups サブシステムの設定 リンクのコピーリンクがクリップボードにコピーされました!
JGroups サブシステムはネットワークトランスポートを設定し、複数の Red Hat Data Grid Server ノードをクラスター化する場合にのみ必要です。
サブシステム宣言は、以下の XML 要素に囲まれています。
サブシステム内で使用するスタックを宣言し、命名する必要があります。サブシステム宣言の default-stack 属性は、宣言されたスタックのいずれかを参照する必要があります。jboss.default.jgroups.stack プロパティーを使用して、コマンドラインからスタックを切り替えることができます。
bin/standalone.sh -c clustered.xml -Djboss.default.jgroups.stack=tcp
bin/standalone.sh -c clustered.xml -Djboss.default.jgroups.stack=tcp
スタック宣言は、トランスポート、UDP または TCP、その後にプロトコルのリストで構成されます。以下の形式でプロパティーを子要素として追加することで、プロトコルをチューニングできます。
<property name="prop_name">prop_value</property>
Red Hat Data Grid のデフォルトのスタックは以下のとおりです。
一部のプロパティーでは、Red Hat Data Grid は JGroups のデフォルト以外の値を使用します。以下のファイルを確認して、Red Hat Data Grid の JGroups 設定を確認する必要があります。
リモートクライアント/サーバーモード:
-
jgroups-defaults.xml -
infinispan-jgroups.xml
-
ライブラリーモード:
-
default-jgroups-tcp.xml -
default-jgroups-udp.xml
-
これらの JGroups ファイルは、Red Hat カスタマーポータルから Red Hat Data Grid ソースディストリビューションで利用できます。
利用可能なプロパティーおよびデフォルト値に関する詳細は、JGroups プロトコル のドキュメントを参照してください。
デフォルトの TCP スタックは、UDP マルチキャストを使用する検出に MPING プロトコルを使用します。別のプロトコルを使用する必要がある場合は、JGroups Discovery Protocols を参照してください。以下のスタックの例では、TCPPING 検索プロトコルを 2 つの初期ホストで設定します。
デフォルト設定には、さまざまな環境用に事前設定されたさまざまなスタックが含まれます。たとえば、tcpgossip スタックは Gossip 検出を使用します。
<protocol type="TCPGOSSIP">
<property name="initial_hosts">${jgroups.gossip.initial_hosts:}</property>
</protocol>
<protocol type="TCPGOSSIP">
<property name="initial_hosts">${jgroups.gossip.initial_hosts:}</property>
</protocol>
Amazon AWS で実行する場合は、s3 スタックを使用します。
<protocol type="org.jgroups.aws.s3.NATIVE_S3_PING" module="org.jgroups.aws.s3:{infinispanslot}">
<property name="region_name">${jgroups.s3.region:}</property>
<property name="bucket_name">${jgroups.s3.bucket_name:}</property>
<property name="bucket_prefix">${jgroups.s3.bucket_prefix:}</property>
</protocol>
<protocol type="org.jgroups.aws.s3.NATIVE_S3_PING" module="org.jgroups.aws.s3:{infinispanslot}">
<property name="region_name">${jgroups.s3.region:}</property>
<property name="bucket_name">${jgroups.s3.bucket_name:}</property>
<property name="bucket_prefix">${jgroups.s3.bucket_prefix:}</property>
</protocol>
同様に、Google の Cloud Platform を使用する場合は、google スタックを使用します。
<protocol type="GOOGLE_PING">
<property name="location">${jgroups.google.bucket:}</property>
<property name="access_key">${jgroups.google.access_key:}</property>
<property name="secret_access_key">${jgroups.google.secret_access_key:}</property>
</protocol>
<protocol type="GOOGLE_PING">
<property name="location">${jgroups.google.bucket:}</property>
<property name="access_key">${jgroups.google.access_key:}</property>
<property name="secret_access_key">${jgroups.google.secret_access_key:}</property>
</protocol>
dns-ping スタックを使用して、OKD や OpenShift などの Kubernetes 環境で Red Hat Data Grid を実行します。
<protocol type="dns.DNS_PING">
<property name="dns_query">${jgroups.dns_ping.dns_query}</property>
</protocol>
<protocol type="dns.DNS_PING">
<property name="dns_query">${jgroups.dns_ping.dns_query}</property>
</protocol>
dns_query プロパティーの値は、クラスターメンバーを返す DNS クエリーです。Kubernetes DNS の命名に関する詳細は、「サービスおよび Pod の DNS」を参照してください。