20.13.3. ディスカバリーグループ
ブロードキャストグループは、ネットワーク上でコネクターをブロードキャストするために使用されます。ディスカバリーグループは、コネクターの情報がどのようにブロードキャストエンドポイント (UDP または JGroups ブロードキャストグループ) によって受信されるかを定義します。ディスカバリーグループは、各サーバーのブロードキャストごとにコネクターペアのリストを 1 つ維持します。
ディスカバリーグループが、特定サーバーのブロードキャストエンドポイントでブロードキャストを受信すると、特定サーバーのリストにあるコネクターペアのエントリーを更新します。特定サーバーから長期間ブロードキャストを受信しないと、リストからサーバーのエントリーを削除します。
ディスカバリーグループは主にクラスター接続および Java Messaging Service (JMS) クライアントによって使用され、必要なトポロジーをダウンロードするために最初の接続情報を取得します。
注記
対応するブロードキャストグループ (UDP または JGroups) と一致する適切なブロードキャストエンドポイントを使用して各ディスカバリーグループを設定する必要があります。
20.13.3.1. サーバー上での UDP (ユーザーデータグラムプロトコル) ディスカバリーグループの設定
以下は UDP ディスカバリーグループの定義例になります。
<discovery-groups> <discovery-group name="my-discovery-group"> <local-bind-address>172.16.9.7</local-bind-address> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <refresh-timeout>10000</refresh-timeout> </discovery-group> </discovery-groups>
注記
上例の local-bind-address、group-address、および group-port 属性は廃止されました。これらの属性の代わりに socket-binding 属性を使用できます。
以下は、廃止された属性を socket-binding 属性に置き換えた UDP ディスカバリーグループの定義例になります。
<discovery-groups> <discovery-group name="my-discovery-group"> <socket-binding>messaging-group</socket-binding> <refresh-timeout>10000</refresh-timeout> </discovery-group> </discovery-groups>
下表は、上記の例や通常の設定で ディスカバリーグループを定義するために使用される重要なパラメーターを説明しています。
表20.12 UDP ディスカバリーグループパラメーター
属性 | 説明 |
---|---|
name attribute |
この属性はディスカバリーグループの名前を表します。ディスカバリー名はサーバーごとに一意の名前となる必要があります。
|
local-bind-address |
[廃止済み] 任意の UDP 固有の属性です。同じマシンで複数のインターフェースを使用する場合に特定のインターフェースでリッスンするディスカバリーグループを設定するために使用されます。
|
group-address |
[廃止済み] 必須の UDP 固有の属性です。グループのマルチキャスト IP アドレスでリッスンするディスカバリーグループを設定するために使用されます。この属性の値は、リッスンするブロードキャストグループの
group-address 属性と一致する必要があります。
|
group-port |
[廃止済み] 必須の UDP 固有の属性です。マルチキャストグループの UDP ポートを設定するために使用されます。この属性の値は、リッスンするマルチキャストグループの
group-port 属性と一致する必要があります。
|
socket-binding |
ディスカバリーグループのソケットバインディングを表します。
|
refresh-timeout |
任意の UDP 固有の属性です。最後のブロードキャストをサーバーから受信した後、削除する前にディスカバリーグループが待機する期間 (ミリ秒単位) を設定するために使用されます。ブロードキャスト処理が続行されているときにサーバーが即座にリストから削除されないように、
refresh-timeout の値を broadcast-period の値よりもはるかに大きくする必要があります。この属性のデフォルト値は 10000 秒です。
|