27.6.2. JGroups チャネルの分離

JBoss Application Server 内には、 独立して JGroups チャネルを作成する多くのサービスが存在します。 これらのサービスには複数の JBoss Cache サービス (HttpSession レプリケーション、 EJB3 ステートフルセッションBean レプリケーション、 EJB3 エンティティレプリケーション)、 2 つの JBoss Messaging チャネル、 他多くの JBossHA サービスの基礎となる汎用クラスター化サービスである HAPartition などが含まれます。
これらのチャネルは目的のピアとのみ通信することが重要です。他のサービスで使用されるチャネルや、グループの一部ではないマシンで開かれた同じサービスのチャネルとは通信しません。 ノードがお互いに適切に通信しないことは、 JBoss Enterprise Application Platform クラスタリングでユーザーが直面する最も一般的な問題の 1 つです。
JGroups チャネルが通信する相手はグループ名によって定義されます。UDP ベースのチャネルの場合、マルチキャストアドレスとマルチキャストポートによって定義されます。 JGroups チャネルを分離すると、異なるチャネルに異なるグループ名、マルチキャストアドレス (場合によってはマルチキャストポート) が使用されます。

27.6.2.1. アプリケーションサーバーインスタンス同士を分離

本項では、 同じ環境内で複数の独立したクラスターが実行される場合の問題点を取り上げます。 例えば、 単一の実稼働クラスター、 ステージングクラスター、 QA クラスターか、 複数のクラスターが QA テスト環境または開発チーム環境にあるとします。
JGroups クラスターをネットワーク上の他のクラスターから分離するには、次を行う必要があります。
  • 異なるクラスターのチャネルが異なるグループ名を使用するようにしてください。 これは、 JBoss の起動に使用されるコマンドライン引数で制御できます。 詳細は、 「グループ名の変更」 を参照してください。
  • 異なるクラスターのチャネルが異なるマルチキャストアドレスを使用するようにしてください。 JBoss の起動に使用されるコマンドライン引数を用いると簡単に制御することができます。
  • Linux、 Windows、 Solaris、 HP-UX のいずれかで実行していない場合、 各クラスターのチャネルが異なるマルチキャストポートを使用する必要があります。 これは、 異なるグループ名を使用するよりも複雑ですが、 コマンドラインで制御することができます。 「マルチキャストポートの変更」 を参照してください。 サーバーが Linux、 Windows、 Solaris、 HP-UX のいずれかで稼働していれば異なるポートを使用する必要はありません。