Sun GlassFish Communications Server 1.5 配備計画ガイド

可用性のための計画

ここでは、次の内容について説明します。

可用性の規模の適正化

システムやアプリケーションの可用性を計画するには、異なるアプリケーションにアクセスするユーザーグループの可用性ニーズを評価します。たとえば、料金を支払う外部のユーザーやビジネスパートナーはたいてい、サービスの品質 (QoS) に内部のユーザーより高い期待を持っています。そのため、アプリケーション機能、アプリケーション、サーバーなどが使用不可になっても、支払いを行う外部の顧客に比べて内部のユーザーの方が許容性が高い可能性があります。

次の図は、発生確率が低い出来事ほど、影響を軽減するためのコストと複雑さが増加するようすを示しています。この連続曲線の一端では、単純な負荷分散クラスタを使用して、ローカライズされたアプリケーション、ミドルウェア、およびハードウェアの障害に耐えることができます。曲線のもう一方の端では、地理的に孤立したクラスタを使用することにより、データセンター全体に影響する大災害を軽減できます。

高い投資収益率を実現するには、多くの場合、アプリケーション内の機能の可用性の要件を特定することが有効です。たとえば、保険見積もりシステムが使用不可になることは許容されない (それによって新しい企業を失う) 可能性がありますが、既存の顧客が現在の対象範囲を表示できるアカウント管理機能が短期間使用不可になっても、既存の顧客を失うことはほとんどありません。

可用性を向上させるためのクラスタの使用

もっとも基本的なレベルで言えば、クラスタとは、クライアントには 1 つのインスタンスとして見えるアプリケーションサーバーインスタンスのグループであり、たいていは複数の物理サーバー上にホストされています。これにより、水平方向のスケーラビリティーや、1 台のマシン上の 1 つのインスタンスより高い可用性が提供されます。この基本的なレベルのクラスタ分布が融合ロードバランサと連携して動作します。このロードバランサは、HTTP/HTTPS および SIP/SIPS 要求を受け付け、それをクラスタ内のインスタンスの 1 つに転送します。また、ORB や、統合されている JMS ブローカも、アプリケーションサーバークラスタへの負荷分散を実行します。ネットワーク障害のためにインスタンスが失敗して使用不可になるか、または応答しなくなると、要求は既存の使用可能なマシンにのみリダイレクトされます。ロードバランサはまた、失敗したインスタンスが復旧したことを認識し、それに応じて負荷を再配分することもできます。

システムへの冗長性の追加

高可用性を実現するための 1 つの方法は、システムにハードウェアやソフトウェアの冗長性を追加することです。あるユニットに障害が発生すると、冗長なユニットが引き継ぎます。これは、耐障害性とも呼ばれます。一般に、高可用性を最大化するには、システム内に存在する可能性のあるすべてのシングルポイント障害を特定して取り除きます。

障害クラスの識別

冗長性のレベルは、システムが耐える必要のある障害クラス (障害の種類) によって決定されます。障害クラスのいくつかの例を次に示します。

重複したシステムプロセスによって、単一のシステムプロセス障害や単一のマシン障害に耐えることができます。重複した、ミラー化された (ペアになった) マシンを異なる電源装置に接続することにより、単一の電源障害に耐えることができます。ミラー化されたマシンを個別のビル内に保持することにより、単一のビル火災に耐えることができます。ミラー化されたマシンを地理的に離れた場所に保持することにより、地震などの天災に耐えることができます。