2.4 サポートされるトポロジ

以下の各節では、採用可能な様々なトポロジを、クラスター化、非クラスター化の両方について説明します。クラスターでのアプリケーションサーバー設定について詳しくは、使用しているアプリケーションサーバーに対応する次のいずれかの Web サイトを参照してください。

2.4.1 Web サーバー、アプリケーションサーバーおよびデータベースサーバーを結合

これは、同じノード上に Web サーバー、アプリケーションサーバーおよびデータベースサーバーが 1 台ずつあるトポロジです。これは最も単純なトポロジであり、開発のみに使用してください。

2.4.2 Web サーバーとアプリケーションサーバーを結合し、データベースサーバーを分離

このトポロジは、ユーザーインターフェイス(Web 層を含む)の負荷が最小であり、ユーザー数が少ない場合の実稼働用と見なすことができます。

Web サーバーとアプリケーションサーバーを結合すると、Enterprise JavaBeans™(EJB)のすべてのルックアップがローカルになるので、リモートルックアップのオーバーヘッドが削減されます。また、このトポロジでは、Web 層とアプリケーション層の往復のネットワークオーバーヘッドも削減されます。

ただし、両方のサーバーが同じノード上にある場合、Web 層に問題が発生すると、両方の層に問題が発生します。Web 層の負荷が大きくなると、アプリケーションサーバーの処理に影響が出ます。逆も同じです。通常、サーバーリソース(CPU やメモリなど)がすべてアプリケーションサーバーで消費されていることが原因でページを表示し直すのに長時間かかる状況では、ユーザー応答時間が影響を受けます。

2.4.3 Web サーバーを分離し、アプリケーションサーバーとデータベースサーバーを結合

実稼働環境用に検討するべき最も単純なトポロジは、Web サーバーを分離し、アプリケーションサーバーとデータベースサーバーを結合することです。このトポロジは、データベースの負荷が最小限になることを確信できる場合にのみ使用してください。この場合、Web サーバーが、アプリケーションサーバーへのリダイレクトを行います。このトポロジの利点は、コストが低く、複雑でなく、ロードバランシングが不要なことです。このトポロジの欠点は、冗長性が小さいこと、スケーラビリティが低いこと、更新やアップグレードができないこと、CPU 処理が多すぎることが原因でパフォーマンスが低下する可能性があることです。

2.4.4 Web サーバー、アプリケーションサーバーおよびデータベースサーバーを分離

このトポロジは、各層に別々のリソースを割り当てることができるので、実稼働システムで最も多く使用されます。この場合、Web サーバーは、Web コンポーネントをホストするアプリケーションサーバー上の Web 層に対するプロキシとして機能します。この程度の間接的な設定にすると、Web サーバーに問題が発生した場合でもアプリケーションサーバーを保護できるので、セキュリティが強化されます。

2.4.5 Web サーバーの追加

スケーラビリティとフェイルオーバーのために、Web サーバーを追加できます。複数の Web サーバーを使用する場合は、WebLogic および WebSphere の HTTP プラグイン設定ファイルを各 Web サーバーに適用する必要があります。新しいアプリケーションの導入後にこれを行わないと、ユーザーが Web アプリケーションにアクセスしようとしたときに、「404 ファイルが見つかりません」というエラーが発生します。

2.4.6 アプリケーションサーバーの追加

このトポロジは、高可用性を提供するように、トポロジ、フェイルオーバーおよびロードバランシングに基づいてアプリケーションサーバーがクラスター化されている、大規模な実稼働システムの多くで使用されます。

アプリケーションサーバーのクラスター化には、次の利点があります。

  • 低価格のハードウェア設定で高いパフォーマンスを実現できます。

  • サーバー上でソフトウェアをダウンタイムなしでアップグレードできます。

  • より高い可用性を実現できます(つまり、1 台のサーバーでエラーが発生しても、クラスター内の他のノードが処理を引き継ぎます)。

  • Web サーバー上(ロードバランサーを使用)および EJB 層で、ロードバランシングアルゴリズムを、要求処理用に利用できます。

LiveCycle コンポーネントは通常、CPU による制約を受けます。その結果、既存のサーバーにメモリやディスク容量を追加するよりも、アプリケーションサーバーを追加したほうが、より高いパフォーマンスを得ることができます。

2.4.7 複数の JVM

複数の JVM の垂直比率を使用すると、次の利点があります。

処理効率の向上:アプリケーションサーバーの 1 つのインスタンスは、単一の JVM プロセスで実行されます。ただし、JVM プロセスに固有の並行性の制限により、マルチ CPU システムのメモリおよび処理能力をフルに活用できません。追加の JVM プロセスを作成すると、スレッドプールが複数になります。このスレッドプールはそれぞれが、アプリケーションサーバーの各プロセスに関連付けられている JVM プロセスに対応しています。この対応により、並行性の制限が回避され、アプリケーションサーバーでコンピューターの処理能力をフルに利用できます。

ロードバランシング:垂直比率トポロジでは、WebLogic Server または WebSphere Application Server の負荷管理機能を使用できます。

プロセスのフェイルオーバー:垂直比率トポロジでは、アプリケーションサーバークラスターメンバー間のフェイルオーバーもサポートされます。1 つのアプリケーションサーバーインスタンスがオフラインになっても、コンピューター上の他のインスタンスでクライアントの要求が引き続き処理されます。