5.6. クラスター検出プロトコル
Data Grid は、ノードがネットワーク上でお互いを自動的に見つけてクラスターを形成できるようにするさまざまなプロトコルをサポートしています。
Data Grid が使用できる 2 種類の検出メカニズムがあります。
- ほとんどのネットワークで機能する汎用検出プロトコルで、外部サービスに依存しません。
-
Data Grid クラスターのトポロジー情報を保存し、取得するために外部サービスに依存する検出プロトコル。
たとえば、DNS_PING プロトコルは DNS サーバーレコードで検出を実行します。
ホスト型プラットフォームで Data Grid を実行するには、個別のクラウドプロバイダーが課すネットワーク制約に適合する検出メカニズムを使用する必要があります。
参照資料
- JGroups Discovery Protocols
- JGroups cluster transport configuration for Data Grid 8.x (Red Hat ナレッジベースの記事)
5.6.1. PING リンクのコピーリンクがクリップボードにコピーされました!
PING または UDPPING は、UDP プロトコルで動的なマルチキャストを使用する一般的な JGroups 検出メカニズムです。
結合時に、ノードは IP マルチキャストアドレスに PING 要求を送信し、Data Grid クラスターにある他のノードを検出します。各ノードは、コーディネーターノードのアドレスとその独自のアドレスが含まれるパケットで PING リクエストに応答します。C はコーディネーターのアドレスで、A は自分のアドレスです。ノードが PING 要求に応答すると、結合ノードは新しいクラスターのコーディネーターノードになります。
PING 設定の例
<config> <PING num_discovery_runs="3"/> ... </config>
<config>
<PING num_discovery_runs="3"/>
...
</config>
参照
5.6.2. TCPPING リンクのコピーリンクがクリップボードにコピーされました!
TCPPING は、クラスターメンバーの静的アドレスリストを使用する汎用 JGroups 検索メカニズムです。
TCPPING を使用すると、ノードが相互に動的に検出できるようにするのではなく、JGroups スタックの一部として Data Grid クラスター内の各ノードの IP アドレスまたはホスト名を手動で指定します。
TCPPING 設定の例
- 1
- 信頼性の高い検出のために、Red Hat は
port-range=0を推奨します。
5.6.3. MPING リンクのコピーリンクがクリップボードにコピーされました!
MPING は IP マルチキャストを使用して Data Grid クラスターの初期メンバーシップを検出します。
MPING を使用して TCPPING 検出を TCP スタックに置き換え、初期ホストの静的リストの代わりに、検出にマルチキャストを使用できます。ただし、UDP スタックで MPING を使用することもできます。
MPING 設定の例
5.6.4. TCPGOSSIP リンクのコピーリンクがクリップボードにコピーされました!
gossip ルーターは、Data Grid クラスターが他のノードのアドレスを取得できるネットワーク上の集中的な場所を提供します。
以下のように、Gosssip ルーターのアドレス (IP:PORT) を Data Grid ノードに挿入します。
-
このアドレスをシステムプロパティーとして JVM に渡します (例:
-DGossipRouterAddress="10.10.2.4[12001]")。 - JGroups 設定ファイルのそのシステムプロパティーを参照します。
Gossip ルーター設定の例
5.6.5. JDBC_PING リンクのコピーリンクがクリップボードにコピーされました!
JDBC_PING は共有データベースを使用して Data Grid クラスターに関する情報を保存します。このプロトコルは、JDBC 接続を使用できるすべてのデータベースをサポートします。
ノードは IP アドレスを共有データベースに書き込むため、ノードに結合してネットワーク上の Data Grid クラスターを検索できます。ノードが Data Grid クラスターのままにすると、共有データベースから IP アドレスを削除します。
JDBC_PING 設定の例
適切な JDBC ドライバーをクラスパスに追加して、Data Grid が JDBC_PING を使用できるようにします。
5.6.6. DNS_PING リンクのコピーリンクがクリップボードにコピーされました!
JGroups DNS_PING は DNS サーバーをクエリーし、OKD や Red Hat OpenShift などの Kubernetes 環境で Data Grid クラスターメンバーを検出します。
DNS_PING 設定の例
<config> <dns.DNS_PING dns_query="myservice.myproject.svc.cluster.local" /> ... </config>
<config>
<dns.DNS_PING dns_query="myservice.myproject.svc.cluster.local" />
...
</config>
参照
- JGroups DNS_PING
- DNS for Services and Pods (DNS エントリーを追加するための Kubernetes ドキュメント)