ヘッダーをスキップ
Oracle® Coherenceスタート・ガイド
リリース3.6
B61369-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次

戻る
戻る
 
 

用語集

Coherenceのクラスタ化とフェデレーション

Coherenceの多くのデプロイメントでは、各データ・センターに単一のクラスタがあり(TCMPを使用)、各データ・センター間にフェデレーションがあります(Coherence*Extendを使用)。TCMPのスケーラビリティは多くの変数に依存しますが、大まかにいうと、ネットワーク・インフラストラクチャが堅牢である場合、100のサーバーJVMで構成されるクラスタはサポートが容易であり、1,000のサーバーJVMで構成されるクラスタは(可能ですが)より注意が必要です。

Oracle Coherenceでは、同機種サーバー・クラスタとフェデレーテット・サーバー・モデルの両方がサポートされています。Coherenceソフトウェアを実行しているアプリケーションやサーバー・プロセスはすべて、クラスタ・ノードと呼ばれます。同じネットワーク上のクラスタ・ノードは、すべて自動的にまとめてクラスタ化されます。クラスタ・ノードではPeer-to-Peerプロトコルが使用されます。つまり、クラスタ・ノードはすべて、他のどのクラスタ・ノードとも直接通信できます。

Coherenceは論理的に、クラスタ、サービスおよびキャッシュに分割されます。Coherenceのクラスタは、1つのグループ・アドレスを共有するクラスタ・ノードの集まりであり、これによってクラスタ・ノードでの通信が可能になります。一般に、1つのクラスタ・ノードは1つのクラスタにのみ参加しますが、各クラスタに異なるグループ・アドレスを使用すれば、1つのクラスタ・ノードを複数の異なるクラスタのメンバーにできます。

クラスタ内には、任意の数の名前付きサービスが存在します。1つのクラスタ・ノードが参加できるサービスの数に制限はありません。クラスタ・ノードがサービスに参加すると、そのサービスから使用可能なすべての情報が自動的に与えられます。たとえば、レプリケートされたキャッシュ・サービスに参加すると、そのサービス内の全キャッシュのデータがレプリケートされます。これらのサービスはすべてPeer-to-Peerです。つまり、クラスタ・ノードは通常、サービスを通してクライアントとサーバーの両方の役割を果たします。さらに、クラスタ・ノードに障害が発生した場合、これらのサービスはすべてデータを失うことなくフェイルオーバーされます。

フェイルバック

フェイルバックはフェイルオーバーの拡張機能であり、これによってサーバーは、再起動時に自身の役割を取り戻すことができます。たとえば、「サーバーが復旧した場合は、以前実行していたプロセスがそのサーバーにフェイルバックされます。」などのように使用します。

フェイルオーバー

フェイルオーバーとは、障害が発生したサーバーの役割を引き継ぐ機能のことを指します。たとえば、「サーバーが停止した場合は、そのサーバーのプロセスがバックアップ・サーバーにフェイルオーバーされます。」などのように使用します。

JCache

JCache(JSR-107とも呼ばれる)は、現在開発中のキャッシングAPI仕様です。このAPIの最終バージョンはまだリリースされていませんが、オラクル社およびその他のキャッシュ製品を持つ企業がこのAPIの現状を見守っています。現時点ではほぼ完成しており、今後大幅に変更されることはほとんどないと思われます。

.NetおよびC++プラットフォームには、データ・キャッシング用の対応するマルチベンダー規格はありません。

ロード・バランサ

ロード・バランサは、サーバー・ファーム内やサーバー・クラスタ内で、ネットワーク・リクエストを複数のサーバーに委任するハードウェア・デバイスまたはソフトウェア・プログラムです。ロード・バランサは一般にサーバー障害を検出し、オプションで、障害時に該当サーバーで処理されていた操作を再試行することもできます。ロード・バランサは通常、委任先のサーバーを均等にビジーな状態に維持しようとします。バランサという用語が使用されているのはそのためです。ロード・バランサ・デバイスには、多くの場合、第二のロード・バランサを使用する高可用性オプションが用意されています。これを使用すると、一方のデバイスが停止しても可用性に影響はありません。

サーバー・クラスタ

サーバー・クラスタは、相互に認識を行う複数のサーバーで構成されます。このため、サーバー同士が直接通信し、役割を安全に共有できるほか、障害が発生したサーバーの役割を引き継ぐこともできます。これにより、非同期メッセージ(冪等なトランザクションや補正トランザクションが必要な場合がある)や、同期2フェーズ・コミット(無限なブロックでシステムの可用性が低下する場合がある)を使用する必要がなくなるため、開発が簡単になります。

グローバル・コーディネーションが必要なため、クラスタ化はフェデレーションよりもスケーラビリティが低下しますが、一般にデータの整合性はより強固に保証されます。

サーバー・ファーム

最も緩い結合形式であるサーバー・ファームでは、増加する負荷を複数のサーバーで処理し、その可用性を高めます。ロード・バランサはサーバー・ファーム内の様々なサーバーに作業を割り当てるために使用されることが多く、サーバー・ファームでは、多くの場合データベース・サーバーなどのバックエンド・リソースが共有されますが、通常ファーム内のサーバーは互いに認識し合わないため、ロード・バランサによってフェイルオーバーが行われます。

ファームは一般に、静的Webコンテンツの配信や高性能コンピューティング(HPC)における計算集中型操作の大量実行など、ステートレス・サービスに使用されます。

サーバー・フェデレーション

フェデレーテッド・サーバー・モデルはサーバー・ファームに似ていますが、もともと連携する予定がなかった場合であっても、複数のサーバーを連携させることができます。フェデレーションは、分散XAトランザクションのようなテクノロジを使用して同期動作するか、JMSのようなメッセージ・ソリューションを使用して非同期動作します。フェデレーションはスケール・アウトに使用できます(たとえば、フェデレーテッド・データベースでは、複数のデータベース・インスタンスにまたがってデータをパーティション化または共有できます)。フェデレーションは、異機種システム間の統合にも使用できます(たとえば、Webポータル内のアプリケーション間でデータを共有するなど)。

スケール・アウトの際、フェデレーテッド・システムは主に、データの整合性は大切であるけれども絶対的に重大ではない場合(たとえば、ステートフルWebアプリケーションやトランザクション計算グリッドが多数ある場合など)に使用されます。前者の場合、HTTPセッションに通常必要なのはベスト・エフォート型の保証のみです。後者の場合、通常は、計算グリッドから送信された無効なトランザクションをロールバックすることによってデータの整合性を保証する記録用の外部システムがあります。

フェデレーションは、データ整合性の保証を犠牲にして、莫大なスケールをサポートします(ただし、このような保証は透過的なフェイルオーバーおよびフェイルバックと動的パーティション化を排除することによって復元できます。WANスタイルのデプロイメントはほとんどがこれに該当します)。