負荷分散
負荷分散は、アプリケーションの URL を 1 つだけ使用して各クライアントのリクエストを取得し、これらのリクエストを複数の Web サーバーやアプリケーションサーバーに分散する機能です。負荷分散は、受信したユーザーリクエストを処理して適切なサーバーに分散するアクティブ/アクティブの手法と見なされます。
負荷分散は、ネットワーク、ハードウェア、およびソフトウェアによる分散ソリューションなど、さまざまな形式で実現できます。多層アーキテクチャでは、Web サーバーで受信したクライアントリクエストの負荷分散や、Web サーバーからアプリケーションサーバーに送信されるリクエストの負荷分散が可能です。
一般的な顧客の設定では、少なくとも 2 つ以上の Web サーバーの負荷分散を行います。各 Web サーバーに 1 つ以上のアプリケーションサーバーを関連付けできる場合もありますが、この機能は Web サーバーのベンダーによって異なります。
ユーザーのトラフィックに関して、Servigistics InService には適用しなければならない特別な負荷分散の規則や手法はありません。Servigistics InService は RESTful アプリケーションであり、セッションの内容を特定のアプリケーションインスタンスに保持しません。
ただし、管理者のトラフィックの場合、Servigistics InService では "永続性"、"持続性"、または "アフィニティ" の使用を含む負荷分散の手法を使用する必要があります。永続性、持続性、およびアフィニティは商用的に使用されている用語で、クラスタ内のサーバーに対する最初のユーザーリクエストをバインドし、以降のリクエストを同じサーバーで処理する機能を表します。Servigistics InService で使用される多くのコンポーネントは、クラスタ内の一部のノードでしか同期化されない、さまざまな量のセッション情報を維持します。これには、特定のアプリケーションサーバーインスタンスに保存されるセッション情報や、アプリケーションサーバーとデータベース間で特定の JDBC 接続に関連付けられたページングセッション情報もあります。
| Web ロードバランサーコンポーネントを入手して準備する必要があります。これは、マルチビューアクラスタとマルチサイトクラスタの両方の展開コンフィギュレーションに必要です。 |
ソフトウェアによる負荷分散
ソフトウェアベースの負荷分散は、さまざまなベンダーから商用の製品として提供されています。たとえば、Sun Cluster、HP Cluster、MC/ServiceGuard、Veritas Cluster などがあります。一般的に、これらのソリューションでは、アクティブ/アクティブとアクティブ/パッシブの両方の負荷分散機能が提供されています。これらのソフトウェアを使用することで、アーキテクチャ内のコンポーネントを実行中のシステムからスタンバイシステムに移動できます。また、ソフトウェアをアプリケーションサーバー自体のロードバランサーとして使用できます。
簡単なソフトウェアベースの負荷分散ソリューションは、Windchill ソリューションとともに提供している Apache Web サーバー製品で使用できます。
各 Apache 内で、PTC が提供する設定 (および追加設定) により、単一の Web サーバーをクラスタ内の 1 つ以上のアプリケーションサーバーにバインドできます。
ただし、単一の Apache インスタンスでは障害が発生しやすくなります。このような障害は、Apache サーバーに適用されたアクティブ/パッシブの障害許容機能や、仮想サービスの機能向上により処理できます。
ハードウェアによる負荷分散
ハードウェアベースの負荷分散では、追加機材を (一般的にはネットワークレベルで) 使用して、クラスタ内に配置されたサーバーノードにリクエストを分散します。
Cisco や F5 Networks、およびその他のネットワークハードウェアメーカーは、ロードバランサーとして使用可能なさまざまな製品を製造しています。PTC の多くの顧客環境では、Cisco ACE Appliance、ACE Service Module、F5 Networks BigIP などの製品がよく使用されています。
これらのハードウェアソリューションにはその他のソリューションと同様の利点がありますが、ほかの高度な機能 (SSL オフロード、圧縮、侵入検知、侵入防止など) をインフラストラクチャに実装する機能も備えています。