Sun Cluster には、データサービスの水平型スケーラビリティーという概念があり、これをスケーラブルサービスといいます。この概念には、IP ベースの負荷均衡アルゴリズムが統合されています。このため、ハードウェアのロードバランサーを使用しなくても水平方向のスケーラビリティーが得られます。このスケーラブルサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用する前に、クラスタとクライアントのインフラストラクチャーを注意深く検討する必要があります。
クライアントがプロキシを使用してアプリケーションに使用する場合は、セッションコンテキストの間、使用されるプロキシが同じかどうかを判別します。これはイントラネットにも当てはまります。
セッションコンテキストの間にプロキシが変更される場合、負荷均衡の観点から言うと、発信元 IP アドレスが変化することを意味します。この場合、ハードウェアであろうとソフトウェアであろうと、IP ベースのあらゆる負荷均衡機能が悪影響を受けます。
特に、クライアントがインターネットを介してサーバーにアクセスする場合、セッションコンテキストにおいて同一のソース IP アドレスが維持されることは保証されません。
Sun Cluster HA for Apache Tomcat には、水平方向のスケーラビリティーを得る手段として 2 つの構成方法が用意されています。
2 つの構成の相違は、ノードのアクセス方法にあります。
クライアントが共有アドレスを使用してスケーラブル構成にアクセスする場合、Sun Cluster が負荷均衡機能を実行します。
クライアントが各ノードの物理アドレスを使用してマルチマスター構成にアクセスする場合、クラスタの外部で負荷均衡機能を実行する必要があります。
スケーラブルデータサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
これらの構成オプションについては、「スケーラブル構成としての Sun Cluster HA for Apache Tomcat」と「マルチマスター構成としての Sun Cluster HA for Apache Tomcat」で説明しています。
セッションコンテキストの間、発信元 IP アドレスが変わらないことが保証される場合は、スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用できます。この保証は、たとえばイントラネットで実現されます。
セッションコンテキストの間に発信元 IP アドレスが変わる可能性があり、スケーラブル構成が必要な場合は、セッションの複製を指定して Apache Tomcat を構成する必要があります。このような構成は、広域ファイルシステムまたはデータベースを使用したアプリケーションによって行えます。
この方法では、パフォーマンスの低下が発生します。
発信元 IP アドレスが変化する状況でのスケーラブル構成には、Tomcat のインバウンドメモリーセッション複製機能を使用すると、パフォーマンスが向上します。
Apache Tomcat 4.x のセッション複製は、http://www.theserverside.com/resources/article.jsp?l=Tomcatの説明に従って行えます。
Apache Tomcat 5.x の、組み込み機能としてのインバウンドメモリーセッション複製は、機能リストにあります。
Apache Tomcat 3.x の場合、インバウンドメモリーセッション複製は設定できません。
上記以外の状況では、Sun Cluster HA for Apache Tomcat をマルチマスター構成で使用できます。外部の負荷均衡機能が必要です。通常の構成では、スケーラブル Apache Web サーバーをロードバランサーとして使用し、Apache Web サーバーの各インスタンスの背後に、Apache Tomcat インスタンスの物理ホスト名を 1 つ構成します。また、セッションコンテキストを処理するハードウェアロードバランサを使用することもできます。
スケーラブル構成とマルチマスター構成の違いは、クライアントがクラスタノードにアクセスする方法だけです。スケーラブル構成では、クライアントは共有アドレスにアクセスします。マルチマスター構成では、クライアントは物理ホスト名にアクセスします。