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

前
 
 

用語集

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

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

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

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

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

フェイルバック

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

フェイルオーバー

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

JCache

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

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

ロード・バランサ

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

サーバー・クラスタ

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

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

サーバー・ファーム

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

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

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

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

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

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