前のトピック: アプライアンスの構造

次のトピック: カタログ


アセンブリ

CA AppLogic では、アプライアンスの構造を簡単に捕捉し、要求に応じてインスタンス化する機能により、複合アプライアンスまたはアセンブリと呼ばれる新しいタイプのアプライアンスを定義できます。 アセンブリは、境界と内部で構成されるアプライアンスです。 アセンブリの境界は仮想アプライアンスの境界と同じように定義され、アセンブリの内部は仮想アプライアンスの構造で構成されます。

Web スイッチは、入力で HTTP リクエストを受信し、各リクエストを 5 つの HTTP 出力(img、out1、out2、out3、out4)のいずれかに転送する便利なアプライアンスです。 また、システム ログに記録する必要があるメッセージを生成する log という名前の出力も備えています。

Web スイッチには、主に以下の 3 つの機能があります。

従来の方法でこのようなアプライアンスを構築するには、少なくとも 3 つのソフトウェア パッケージをサーバにインストールして適切に設定し、各ソフトウェアを連携させるためにいくつかのスクリプトを作成し、処理された画像をテストする必要があります。 ソフトウェアの複雑さ、特定のパッケージに対するユーザの習熟度、およびテストの細かさによっては、このプロセスに対して数日から 2 週間の作業が必要になります。 さらに、1 つ以上のソフトウェア パッケージをアップグレードするたびに、ほとんどの作業を繰り返す必要があります。

CA AppLogic には、より優れた方法が用意されています。

アプライアンスのアセンブリとして実装された Web スイッチ

上記の図は、アプライアンスのアセンブリとして構築された同じ Web スイッチを示しています。 この図は、より具体的に、CA AppLogic エディタで視覚的に表示されたアセンブリの内部を示しています。 アセンブリの境界に定義された各端子は、各端子の名前(たとえば、in、img、log など)を持つ「端子オブジェクト」によって表現されます。

この Web スイッチには、urlsw クラスの URL スイッチ「url」、web_lb クラスの HTTP ロード バランサ「lb」、および squid クラスのコンテンツ キャッシュ アプライアンス「cache」の 3 つのアプライアンスがまとめられています。

ヒント: 構造の設計をわかりやすくするため、構造内の各インスタンスには、そのインスタンスが構造内で果たす役割を示す名前を付けることをお勧めします。

URL スイッチは簡単なアプライアンスです。 in 端子で受信したすべての受信 HTTP リクエストに含まれる URL に適用する正規表現を最大 4 つまで設定できます。 URL がいずれかの正規表現に一致した場合、このスイッチはそれぞれの出力(out1 ~ out4)を介してリクエスト全体を転送します。 一致しない場合は、aux 端子を介してリクエストを転送します。

ロード バランサは、in 入力で HTTP リクエストを受信し、それを out1 ~ out4 出力に負荷を分散しながら転送します。 さらに、log 出力を介してシステム全体のログに収集できるログ メッセージを生成します。

cache は、メモリ内のコンテンツ キャッシュです。 in で受信 HTTP リクエストを受信し、キャッシュを使用してリクエストに対応しようとします。 要求されたオブジェクトがキャッシュ内に見つからない場合は、out 端子を介してリクエストを転送し、リクエストが完了したときに必要に応じてオブジェクトをキャッシュします。

この Web スイッチ アプライアンスの URL スイッチは、受信 URL 内の静止画像のパスを認識し、それらのリクエストをキャッシュの入力に接続された out1 で転送するように設定されています。 他のすべての HTTP リクエストについては、URL が aux 出力を介してロード バランサに転送されます。 Web スイッチの残りの動作は、極めて明白です。