カタログ・サービス

カタログ・サービスは、断片の配置を制御し、データ・グリッド内のコンテナー・サーバーのヘルスをディスカバーしてモニターします。 カタログ・サービスは、アイドル状態にあるロジックをホストし、スケーラビリティーにはほとんど影響しません。 カタログ・サービスが構築されている目的は、同時に使用可能になる数百ものコンテナー・サーバーにサービスを提供し、それらのコンテナー・サーバーを管理するサービスを実行することです。

図 1. カタログ・サービス
カタログ・サービスは Java 仮想マシン (JVM) 内で実行していて、ロケーション・サービス、
配置サービス、コア・グループ・マネージャー、および管理から構成されています。
カタログ・サーバーの 役割分担には以下のサービスが含まれます。
ロケーション・サービス
ロケーション・サービスは、クライアントおよびコンテナー・サーバーに局所性を提供するために、データ・グリッド・メンバーで実行されます。 コンテナー・サーバーは、ホストされるアプリケーションを登録するために、ロケーション・サービスに登録されます。 そうすると、クライアントは、ロケーション・サービスを使用して、アプリケーションをホストするコンテナー・サーバーを検索することができます。
配置サービス
カタログ・サービスは、複数の使用可能なコンテナー・サーバーにわたる断片の配置を管理します。 配置サービスは、物理リソース間でのバランスを維持し、個々の断片をそれぞれのホスト・コンテナー・サーバーに割り振ります。 配置サービスは、クラスター内およびデータ・グリッド内で、N 個の中から 1 つ選ばれたサービスとして実行されます。 つまり、実行される配置サービスのインスタンスは正確に 1 つになります。 あるインスタンスに障害が起こると、別のプロセスが選出され、それが引き継ぎます。 予備のために、カタログ・サービスの状態は、カタログ・サービスを ホスティングするすべてのサーバーに複製されます。
コア・グループ・ マネージャー
コア・グループは、可用性モニタリングのためにピア・グループ化を管理し、コンテナー・サーバーを少数のサーバーからなるいくつかのグループに編成し、それらのサーバー・グループを自動的に統合します。

カタログ・サービスは、 高可用性マネージャー (HA マネージャー) を使用して、可用性モニタリングのためにプロセスを グループ化します。各プロセス・グループが、コア・グループ です。コア・グループ・マネージャーがこれらのプロセスを動的にグループ化します。 これらのプロセスは、スケーラビリティーのために小さく維持されます。 各コア・グループは、ハートビート・メッセージをコア・グループ・マネージャーに送信するリーダーを選出します。 これらのメッセージは、個々のメンバーが障害を起こしたか、それともまだ使用可能であるかを検出します。 また、グループのすべてのメンバーが、リーダーとの正常な通信を妨げるような障害を起こしたかどうかを検出するために、ハートビート・メカニズムが使用されます。

コア・グループ・マネージャーは、コンテナーを少数のサーバーからなるいくつかのグループに編成します。これらのグループは緩やかに統合されて、データ・グリッドを形成します。 コンテナー・サーバーは、 カタログ・サービスへの初回接続時、新規または既存のグループに 割り当てられるまで待機します。eXtreme Scale デプロイメントはそうした多くのグループから構成されており、このグループ化は重要なスケーラビリティー・イネーブラーです。 各グループはいくつかの Java 仮想マシンで構成されます。 選ばれたリーダーは、ハートビート・メカニズムを使用して、他のグループの可用性をモニターします。 リーダーは、再割り振りと経路転送によって障害に対処できるように、可用性情報をカタログ・サービスに中継します。

管理
カタログ・サービスは、 システム管理のための論理的なエントリー・ポイントでもあります。 カタログ・サービスは、Managed Bean (MBean) をホストし、 カタログ・サービスが管理しているすべてのサーバーの Java Management Extensions (JMX) URL を 提供します。

高可用性のために、カタログ・サービス・ドメインを構成します。カタログ・サービス・ドメインは、複数の Java 仮想マシン (マスター JVM が 1 つと、多数のバックアップ Java 仮想マシン) から構成されます。詳しくは、高可用性カタログ・サービスを参照してください。