アプライアンスのトポロジー: 集合、ゾーン、およびデータ・グリッド

データ・グリッドは、特定のアプリケーションまたはアプリケーション群で使用するオブジェクトを保持するために作成されるストレージ・ユニットです。 集合は、スケーラビリティーおよび管理の目的で アプライアンスをグループ化します。 ゾーンは、アプライアンスの物理的な場所を定義し、キャッシュ内でのデータの配置を決定するために使用されます。

アプライアンスのトポロジー

集合およびゾーンは、いずれも 1 つ以上の WebSphere® DataPower® XC10 アプライアンス に関連付けられています。各アプライアンスは 1 つの集合および 1 つのゾーンのメンバーとなり得ます。各アプライアンスは、キャッシュ・データを保持する複数のデータ・グリッドをホスティングします。
図 1. 集合およびゾーンのトポロジー
この集合には、Rack1 と Rack2 の 2 つのゾーンがあり、
それぞれに 1 つのアプライアンスが含まれています。アプライアンスは、それぞれ、カタログ・サービスと、
基本およびレプリカのデータ・グリッドを実行しています。
重要: データ・グリッドを 高可用性にするために、2 つのアプライアンスが必要です。

集合

集合を定義すると、次の情報が集合内のアプライアンス間で共有されます: データ・グリッド、モニター情報、集合およびゾーンのメンバー、およびユーザー。 これらの情報のいずれかを更新すると、 行われた変更が集合内の他のすべてのアプライアンスで保持されます。 カタログ・サービスはアプライアンス間の 通信を可能にします。カタログ・サービスはカタログ・サーバーのグループです。集合内の各アプライアンスは、集合ごとに 3 つの カタログ・サーバーを限度に、カタログ・サーバーを実行します。 集合内に 4 つ以上のアプライアンスがある場合、カタログ・サービスは 集合に追加された最初の 3 つのアプライアンス上で実行されます。 カタログ・サーバーを持つアプライアンスを集合から除去する場合や、 カタログ・サーバーを持つアプライアンスが使用できなくなった場合は、 次に集合に追加されたアプライアンスがカタログ・サーバーを実行します。 カタログ・サーバーは他のアプライアンスにフェイルオーバーしません。

アプライアンスを集合に追加 するには、別のアプライアンスの集合構成パネルにそのアプライアンスのホスト名および共通鍵 を追加します。この構成は集合内のどのアプライアンスでも作成できますが、それは 集合のメンバーシップが集合メンバー間で保持されるためです。

アプライアンス は 1 つの集合内にのみ存在できます。既にある集合に存在するアプライアンスを 別の集合に追加することはできません。2 つの集合を結合して 1 つの集合にすることもできません。 別々の集合のアプライアンスを結合するには、各アプライアンスをそれぞれの集合から除去し、 各アプライアンスをスタンドアロンにする必要があります。そうすれば、すべてのアプライアンスを含む 新しい集合を作成できます。

集合を使用してほとんどの構成の変更が行える一方で、 「アプライアンス」 > 「アプライアンスの設定」および「アプライアンス」 > 「トラブルシューティング」の各パネルで設定を変更するためには、所定のアプライアンスにログインしなければなりません。

ゾーン

ゾーンは 例えば市区町村や研究所内のラックの場所など、アプライアンスの 物理的な場所と関連付けられます。ゾーンは、カタログ・サービスでご使用の データ・グリッド内のデータの保管場所を定義するのに 役立ちます。例えば、ある 1 つのゾーンにデータ・グリッド (data grid) の基本情報が保管されている場合に、レプリカのデータは別のゾーンにあるアプライアンスに保管されます。この構成では、データ・グリッド (data grid) の 基本を保持するアプライアンスに障害が起こると、基本からレプリカに フェイルオーバーが発生します。

データ・グリッド

データ・グリッドはアプリケーション用のオブジェクトを保持します。オブジェクトをキャッシングすることで、アプリケーションのパフォーマンスが向上します。 データ・グリッドには 3 つのタイプがあります。
単純データ・グリッド (data grid)
単純データ・グリッドは、データをキー値のペアで保持します。例えば、データベース照会の結果を単純 データ・グリッド (data grid)に保管できます。単純データ・グリッド (data grid)を実装するには、ObjectMap API を使用します。ObjectMap API は、 Java Maps と同じように動作します。
セッションデータ・グリッド (data grid)
WebSphere Application Server セッションを使用する場合は、 セッション管理データ用のアプライアンス上でセッションデータ・グリッド (data grid)を使用するようにアプリケーションを構成できます。新規のアプリケーションをインストールする際に、セッション データ・グリッド (data grid)を使用するようにアプリケーションを構成できます。 既存のアプリケーションまたはサーバーの設定を更新して、アプライアンス上でセッションデータ・グリッド (data grid)を使用することもできます。
動的キャッシュデータ・グリッド (data grid)
WebSphere Application Server の動的キャッシュから取り出したデータを保管するために、アプライアンス上の動的キャッシュデータ・グリッド (data grid)を使用できます。動的キャッシュ API を使用して作成されたアプリケーションや、サーブレットのようなコンテナー・レベル・キャッシングを使用するアプリケーションを使用可能にして、アプライアンスをキャッシュ・プロバイダーとして使用することができます。その結果として、 アプリケーション・サーバーによって使用されるメモリーが少なくなります。すべてのキャッシュ・データが アプライアンスにオフロードされ、アプリケーション・サーバーのメモリーにはもう保管されません。

データ・グリッド・レプリカ

特定のデータ・グリッド (data grid)のレプリカのターゲット数を定義できます。集合に少なくとも 2 つのアプライアンスがあるときに、 レプリカは作成されます。アプライアンスが 1 つの場合、レプリカは作成されません。集合内のアプライアンス数が n の場合、1 つのアプライアンスが基本データ・グリッドをホスティングするため、レプリカの最大数は n-1 になります。レプリカのターゲット数が現行の n-1 よりも大きい場合は、アプライアンスを集合に追加するときに、追加のレプリカを作成できます。 レプリカの数を、今後必要となる可能性があるレプリカの最大数に設定しておくことを検討してください。レプリカ設定を編集すると、データ・グリッドの内容が消去されます。今後のレプリカの数を考慮してこの値を設定してください。新しいアプライアンスが集合に追加されると、追加のレプリカが作成されます。基本およびレプリカのデータ・グリッドは、集合内のすべてのアプライアンス間で均一に分散またはストライピングされます。新しいアプライアンスが集合に追加されると、基本およびレプリカのデータ・グリッドを分散するための再バランシングが行われます。

レプリカは、同期レプリカまたは 非同期レプリカのいずれかになります。同期レプリカは、基本データ・グリッド (data grid)上の トランザクションの一部として更新を受け取ります。非同期レプリカは、 基本データ・グリッド (data grid)上のトランザクションがコミットされた後に 更新されます。同期レプリカはデータの一貫性を保証しますが、 非同期レプリカに比べると要求への応答時間が長くなります。非同期レプリカは データの一貫性においては同様の保証ができませんが、トランザクションを より速く完了させることができます。データ・グリッド (data grid)にはデフォルトで 1 つの非同期レプリカがあります。配置アルゴリズムによって、レプリカの配置場所が制御されます。

マップ

マップは、キー値のペアにあるデータ・グリッドのデータを含むデータ構造です。1 つのデータ・グリッドは、データ・グリッドおよびデータ・グリッド・レプリカに存在する複数のマップを持つことができます。

[Firmware refresh Version 2.0.0.2 and later] ご使用のクライアント・アプリケーションを特定の名前の付いたマップに接続させることで、データ・グリッド内に追加のマップを作成できます。動的マップが自動的に作成されます。

[Version 2.0.0.3 and later]

集合リンク

障害の誤検出が起こる可能性があるため、単一の集合が信頼できないネットワーク上に広がってはなりません。しかし、信頼できないネットワークへの接続を持つアプライアンス間で、データ・グリッドのデータを複製する必要が生じる場合もあります。 このタイプのトポロジーを使用することになる一般的なシナリオには以下のようなものがあります。
  • 1 つの集合がアクティブでもう 1 つの集合がバックアップとして使用されているデータ・センター間での災害復旧
  • 地理的に近いクライアントのために、すべての集合がアクティブになっている地理的に分散されたデータ・センター。
2 つの集合を接続すると、同じ名前を持つすべてのデータ・グリッドが集合間で非同期的に複製されます。 これらのデータ・グリッドは、各集合内に同じ数のレプリカを持ち、同じ動的マップ構成を持っていなければなりません。