マルチマスター・レプリカ生成を組み込んだデプロイメントのトポロジーを選択する際、いくつかの異なるオプションがあります。
レプリカ生成データ・グリッドのインフラストラクチャーは、カタログ・サービス・ドメイン 間を双方向のリンクで接続したカタログ・サービス・ドメインのグラフです。 リンクを使用して、2 つの カタログ・サービス・ドメイン はデータ変更内容をやりとりできます。例えば、最も単純なトポロジーは、カタログ・サービス・ドメイン間に単一のリンクを持つ 1 対の カタログ・サービス・ドメイン です。 カタログ・サービス・ドメイン は、左から A、B、C というようにアルファベット順で指定されています。リンクは、遠距離にわたる広域ネットワーク (WAN) を経由する場合もあります。 リンクが遮断されたとしても、いずれかの カタログ・サービス・ドメイン でまだデータを変更できます。トポロジーは、リンクが カタログ・サービス・ドメイン と再接続したときに変更を調整します。 ネットワーク接続が中断されると、リンクは自動的に再接続しようとします。
リンクをセットアップすると、この製品はまず、すべての カタログ・サービス・ドメイン を同一にしようと試みます。次に、いずれかの カタログ・サービス・ドメイン で変更が発生すると、eXtreme Scale は同一の状態を維持するよう試みます。 目標は、各 カタログ・サービス・ドメイン がリンクで接続されたすべての他の カタログ・サービス・ドメイン の正確なミラーになることです。 カタログ・サービス・ドメイン 間のレプリカ生成リンクは、1 つの カタログ・サービス・ドメイン で行われたすべての変更を確実に他の カタログ・サービス・ドメイン にコピーするのに役立ちます。
ライン・トポロジーはこのような単純なデプロイメントですが、かなりのリンク品質を実証します。 まず、変更を受け取るために、カタログ・サービス・ドメイン は直接すべての他の カタログ・サービス・ドメイン に接続する必要がありません。 カタログ・サービス・ドメイン B は カタログ・サービス・ドメイン A から変更をプルします。 カタログ・サービス・ドメイン C は、カタログ・サービス・ドメイン A と C を接続する カタログ・サービス・ドメイン B を介して カタログ・サービス・ドメイン A から変更を受信します。同様に、カタログ・サービス・ドメイン D は カタログ・サービス・ドメイン C を介して別の カタログ・サービス・ドメイン から変更を受信します。この機能により、変更配布の負荷が変更のソースから離れた場所に広がります。
リング・トポロジーは、より回復力のあるトポロジーの例です。 カタログ・サービス・ドメイン または単一リンクに障害が起こった場合でも、残った カタログ・サービス・ドメイン がまだ変更を取得できます。その カタログ・サービス・ドメイン は、障害から離れて、リングの周りを回ります。リング・トポロジーの大きさには関係なく、各 カタログ・サービス・ドメイン は他の カタログ・サービス・ドメイン とのリンクを最大 2 つ持ちます。変更を伝搬するための待ち時間は長くなる場合があります。特定の カタログ・サービス・ドメイン での変更は、すべての カタログ・サービス・ドメイン にその変更が反映されるまで、複数のリンクを経由して伝搬する必要がある場合があります。ライン・トポロジーにも同じ特性があります。
リングの中心に置いたルート・カタログ・サービス・ドメイン を使用した、より洗練されたリング・トポロジーをデプロイすることも可能です。ルート・カタログ・サービス・ドメイン は、調整の中心点として機能します。他の カタログ・サービス・ドメイン は、ルート・カタログ・サービス・ドメイン で生じた変更に対する調整のリモート・ポイントとして働きます。ルート・カタログ・サービス・ドメイン は、カタログ・サービス・ドメイン 間の変更をアービトレーションすることができます。 ルート・カタログ・サービス・ドメイン を囲む複数のリングがリング・トポロジーに含まれている場合、カタログ・サービス・ドメイン は最も内側にあるリング間の変更のみをアービトレーションすることができます。ただし、アービトレーションの結果は他のリングの カタログ・サービス・ドメイン にも広がります。
ハブ・アンド・スポーク・トポロジーでは、ハブ・カタログ・サービス・ドメイン を経由して変更が伝搬します。ハブは指定される唯一の中間 カタログ・サービス・ドメイン であるため、ハブ・アンド・スポーク・トポロジーでは待ち時間が短縮されます。ハブ・カタログ・サービス・ドメイン は、リンク経由ですべてのスポーク・カタログ・サービス・ドメイン に接続されています。ハブは、カタログ・サービス・ドメイン 間で変更を配布します。ハブは、衝突に対して調整のポイントとして機能します。更新頻度の高い環境では、同期を保つために、スポークよりも多くのハードウェア上でハブを稼働する必要がある場合があります。 WebSphere® eXtreme Scale は、直線的に拡大するように設計されています。つまり、問題なく、必要に応じてハブをさらに大きくすることができます。 ただし、ハブに障害が起こった場合は、変更はハブが再始動するまで配布されません。 スポーク・カタログ・サービス・ドメイン 上の変更は、ハブが再接続された後に配布されます。
また、完全に複製したクライアントを使用したストラテジー、すなわち、ハブとして稼働しているサーバーのペアを使用するトポロジーのバリエーションを使用することもできます。各クライアントは、クライアント JVM 内に、必要なものを完備した単一コンテナー・データ・グリッドとカタログを作成します。 クライアントは、そのデータ・グリッドを使用してハブ・カタログに接続します。この接続により、クライアントはハブへの接続を取得すると、すぐにハブと同期するようになります。
クライアントによって行われた変更は、クライアントに対してローカルで、非同期でハブに複製されます。 ハブはアービトレーション・カタログ・サービス・ドメイン として機能し、すべての接続されたクライアントに変更を配布します。完全複製クライアントのトポロジーは、OpenJPA などのオブジェクト・リレーショナル・マッパーに信頼性の高い L2 キャッシュを提供します。 変更はハブを介してクライアント JVM 間に迅速に配布されます。 キャッシュ・サイズを使用可能なヒープ・スペース内に含むことができる場合、このトポロジーは L2 のこのスタイルにとって信頼できるアーキテクチャーです。
必要であれば、複数の区画を使用して、複数の JVM 上にハブ・カタログ・サービス・ドメイン を拡張します。 すべてのデータはまだ単一のクライアント JVM に収まらなければならないため、複数の区画を使用してハブの容量を増加させ、変更の配布とアービトレーションを行います。ただし、複数の区画を使用しても、単一 カタログ・サービス・ドメイン の容量は変更されません。
非循環有向ツリーを使用することもできます。非循環ツリーには循環やループはなく、有向セットアップにより、リンクの存在は親と子の間のみに制限されます。 この構成は、多くのカタログ・サービス・ドメインを含むトポロジーで役立ちます。これらのトポロジーでは、すべての可能なスポークに接続される中央ハブを使用することは実用的ではありません。また、このタイプのトポロジーは、ルート・カタログ・サービス・ドメイン を更新することなく子 カタログ・サービス・ドメイン を追加する必要がある場合にも便利です。
ツリー・トポロジーでもまだ、ルート・カタログ・サービス・ドメイン に調整の中心点を置くことができます。第 2 レベルはまだ、それらの下の カタログ・サービス・ドメイン で生じた変更に対する調整のリモート・ポイントとして機能します。ルート・カタログ・サービス・ドメイン は、第 2 レベルにある カタログ・サービス・ドメイン 間の変更のみをアービトレーションすることができます。それぞれが各レベルで N 個の子を持つ、n 進ツリーを使用することもできます。それぞれの カタログ・サービス・ドメイン は、n 個のリンクに接続します。
このトポロジー変化には、ハブとして稼働する 1 対のサーバーが含まれます。 各クライアントは、クライアント JVM 内に、必要なものを完備した単一コンテナー・データ・グリッドとカタログを作成します。 クライアントは、そのデータ・グリッドを使用してハブ・カタログに接続します。これにより、クライアントはハブへの接続を取得すると、すぐにハブと同期するようになります。
クライアントによって行われた変更は、クライアントに対してローカルで、非同期でハブに複製されます。 ハブはアービトレーション・カタログ・サービス・ドメイン として機能し、すべての接続されたクライアントに変更を配布します。完全複製クライアントのトポロジーは、OpenJPA などのオブジェクト・リレーショナル・マッパーに適した L2 キャッシュを提供します。 変更はハブを介してクライアント JVM 間に迅速に配布されます。 キャッシュ・サイズをクライアントの使用可能なヒープ・スペース内に含むことができる限り、このトポロジーは L2 のこのスタイルに適したアーキテクチャーです。
必要であれば、複数の区画を使用して、複数の JVM 上にハブ・カタログ・サービス・ドメイン を拡張します。 すべてのデータはまだ単一のクライアント JVM に収まらなければならないため、複数の区画を使用してハブの容量を増加させ、変更の配布とアービトレーションを行いますが、単一 カタログ・サービス・ドメイン の容量は変更しません。