第26章 JGroups を設定します。
JGroups は、Red Hat JBoss Data Grid インスタンスに接続するために使用される基礎となるグループ通信ライブラリーです。JBoss Data Grid でサポートされる JGroups プロトコルの完全なリストについては、「サポート対象 JGroups プロトコル」を参照してください。
26.1. Red Hat JBoss Data Grid インターフェースバインディングの設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
26.1.1. インターフェース リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Data Grid では、ユーザーは特定の (不明の) IP アドレスではなくインターフェースタイプを指定することができます。
link-local
:169.x.x.x
または254.x.x.x
アドレスを使用します。これは、1 つのボックス内のトラフィックに適しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow site-local
: たとえば192.168.x.x
などのプライベート IP アドレスを使用します。これにより、GoGrid や同様のプロバイダーから追加の帯域幅についてチャージされることを避けられます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow global
: パブリック IP アドレスを選択します。これは、レプリケーショントラフィックの場合は避ける必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow non-loopback
:127.x.x.x
アドレスではないアクティブなインターフェースにある最初のアドレスを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
26.1.2. ソケットのバインディグ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ソケットのバインディングにより、インターフェースとポートの名前付きの組み合わせが提供されます。ソケットは、個別にまたはソケットのバインディンググループを使用するかのいずれかにより、インターフェースにバインドできます。
26.1.2.1. 単一のソケットをバインドする例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、JGroups インターフェースのソケットバインディングを使用し、
socket-binding
要素を用いて個別のソケットをバインドする例を表しています。
例26.1 ソケットバインディング (Socket Binding)
<socket-binding name="jgroups-udp" <!-- Additional configuration elements here --> interface="site-local"/>
<socket-binding name="jgroups-udp" <!-- Additional configuration elements here --> interface="site-local"/>
26.1.2.2. ソケットのグループをバインドする例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、JGroups インターフェースのソケットバインディングを使用し、
socket-binding-group
要素を用いてグループをバインドする例を表しています。
例26.2 グループのバインド
この例の 2 つのサンプルのソケットバインディングは、同じ
default-interface
(global
) にバインドされます。そのため、インターフェース属性を指定する必要はありません。
26.1.3. JGroups ソケットバインディングの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JGroups サブシステムで設定されるそれぞれの JGroups スタックでは、特定のソケットバインディングを使用します。以下のようにソケットバインディングをセットアップします。
例26.3 JGroups UDP ソケットバインディング設定
以下の例では、ネットワーク上で追加のノードを自動検出するために UDP を使用します。
例26.4 JGroups TCP ソケットバインディング設定
以下の例では、2 つのクラスターノード間の直接的な通信を確立するために TCP を使用します。以下の例では、node1 は 192.168.1.2:7600 にあり、node2 は 192.168.1.3:7600 にあります。使用されているポートは、
socket-binding
セクションの jgroups-tcp プロパティーで定義されます。
UDP または TCP のどちらを使用するかはそれぞれの環境で決定されます。デフォルトで、JGroups は UDP を使用します。UDP はクラスター化されたメンバーの動的な検出を可能にし、またネットワークフットプリントが比較的小さいため大型クラスターで効果的に拡張できるためです。さらに UDP を使用する場合は、マルチキャストパケットがマルチキャストアドレスへのすべてのサブスクライバーによって受信されるため、クラスターごとに 1 つのパケットのみが必要になります。ただし、マルチキャストトラフィックが阻まれる環境か、またはクラスターメンバーが別の VLAN に置かれている場合など、UDP トラフィックがリモートクラスターノードに達しない場合は、クラスターを作成するために TCP トラフィックを使用できます。
重要
UDP を JGroups トランスポートとして使用する場合、ソケットバインディングは、通常の (ユニキャスト) ポート、マルチキャストアドレス、およびマルチキャストポートを指定する必要があります。