「クラスタリング」という用語は、GlassFish のようなアプリケーション サーバーや Terracotta で使用されているのを聞いたことがあります。また、アプリケーション サーバーと組み合わせて使用する場合、および Terracotta と組み合わせて使用する場合に、クラスタリングという言葉が何を意味するかを理解しようとしています。
私の理解は次のとおりです。
GlassFish サーバーがクラスター化されている場合、複数の物理/仮想マシンがあり、それぞれが GlassFish の個別のインスタンスを実行する独自の JRE/JVM を持っていることを意味します。ただし、それらはクラスター化されているため、すべて管理サーバー (「DAS」) を介して通信し、それらすべてに同じアプリがデプロイされます。それらは単一のアプリケーション サーバーであるかのように (エンド ユーザーに対して) 効果的に機能しますが、負荷分散、フェイルオーバー/冗長性、およびスケーラビリティがミックスに追加されています。
Terracotta は基本的に、異なる物理/仮想マシンで実行されている複数の JVM を単一の JVM であるかのように動作させる製品です。
したがって、私の理解が正しければ、次のことが暗示されます。
- ロード バランシングとフェールオーバー トレランスが必要な場合は、アプリ サーバーをクラスター化します。
- 特定の JVM が小さすぎてアプリケーションを含めることができず、より多くの「馬力」が必要な場合は、Terracotta を使用します。
- したがって、技術的には、たとえば 5 つのサーバー インスタンスの GlassFish クラスタがあるとします。これら 5 つのインスタンスのそれぞれは、実際には Terracotta インスタンスの配列/クラスターである可能性があります。つまり、各 GlassFish サーバー インスタンスは、実際には、複数のマシン自体の JVM 全体に存在する GlassFish インスタンスです。
これらの主張/仮定のいずれかが真実でない場合は、訂正してください! 私がベースから外れてしまい、クラスタリングやテラコッタの目的そのものを明らかに理解していない場合は、正しい方向に向けてください!