3.8.4 Message-driven Beanのインスタンスプールを利用した負荷分散(TP1/Message Queueを使用する場合)
アクセスポイントになるコンポーネントがMessage-driven Beanの場合に,J2EEサーバごとのMessage-driven Beanのインスタンスのプール数に応じて負荷を分散する構成について説明します。
なお,この構成によって負荷を分散できるのは,TP1/Message Queueを使用してMessage-driven Beanにアクセスする場合だけです。Reliable Messagingを使用してMessage-driven Beanにアクセスする場合は,Message-driven Beanのインスタンスプールを利用した負荷分散はできません。
(1) システム構成の特徴
J2EEサーバ上で動作するアプリケーションのアクセスポイントがMessage-driven Beanである,メッセージ駆動型のシステムで使用できる構成です。Message QueueクライアントからのメッセージがMessage Queueサーバ上のTP1/Message Queueのキューに到着すると,J2EEサーバ上でプールされているMessage-driven Beanのインスタンス数に応じて,Message-driven Beanが呼び出されます。
Message-driven Beanを対象にした負荷分散の構成の例を次の図に示します。
これ以外の凡例については,「3.2 システム構成の説明について」を参照してください。
- 特徴
-
-
Message-driven Beanの負荷分散を実現して,高い可用性を確保できます。
-
アプリケーションサーバを複数用意することで,アプリケーションサーバの負荷を分散できます。
-
サーバ側のアプリケーションサーバで障害が発生した場合やアプリケーションサーバのメンテナンスが必要な場合,TP1/Message Queueから該当するアプリケーションサーバ上のJ2EEサーバにはアクセスしません。このため,縮退運転ができます。
-
- リクエストの流れ
-
アクセスポイントであるサーバ側のアプリケーションサーバのJ2EEサーバ上のMessage-driven Beanへのリクエスト(メッセージ)は,クライアント側のアプリケーションサーバのJ2EEサーバ上で動作するJ2EEアプリケーションから,TP1/Message Queue経由で送られます。TP1/Message Queueにメッセージが到着すると,サーバ側のアプリケーションサーバのJ2EEサーバ上のMessage-driven Beanが呼び出されます。その際,Message-driven Beanのインスタンスプールのプール数に応じて,リクエストが振り分けられます。
(2) それぞれのマシンに必要なソフトウェアと起動するプロセス
Message-driven Beanのインスタンスプールを使用して負荷を分散する場合に必要なソフトウェアと起動するプロセスは,Message-driven Beanをアクセスポイントにする構成と同じです。「3.8.2 Message-driven Beanをアクセスポイントに使用する場合の構成(TP1/Message Queueを使用する場合)」を参照してください。