WebSphere Application Server クラスターを使用する場合のメッセージ駆動型 Bean のワークロード・バランシング

WebSphere® Application Server 7.0 および WebSphere Application Server 8.0 クラスターにデプロイされ、 IBM® MQ メッセージング・プロバイダー通常モードで実行するように構成されているメッセージ駆動型 Bean アプリケーションを使用する場合、クラスター・メンバーの 1 つが大部分のメッセージを処理します。 複数のクラスター・メンバーにメッセージの処理を分散するために、クラスター・メンバーのワークロードのバランスを取ることができます。

IBM MQ には、 Asynchronous consumeと呼ばれる機能が組み込まれています。これにより、アプリケーションは、 MQCB および MQCTLと呼ばれる API を使用して、キューからメッセージを非同期にコンシュームすることができます。

IBM MQ メッセージング・プロバイダー通常モードを使用する、 WebSphere Application Server 7.0 および WebSphere Application Server 8.0の内部で実行されるメッセージ駆動型 Bean アプリケーションは、この機能を自動的に使用します。 アプリケーションが開始すると、アプリケーションは、 MQCBを呼び出してモニターするように構成されている JMS 宛先に非同期コンシューマーをセットアップします。 次に、 MQCTL API が呼び出され、アプリケーションが JMS 宛先からメッセージを受信する準備ができていることが示されます。

メッセージ駆動型 Bean アプリケーションが WebSphere Application Server クラスターにデプロイされると、各クラスター・メンバーは、メッセージ駆動型 Bean がメッセージをモニターしている JMS 宛先の非同期コンシューマーをセットアップします。 JMS 宛先をホストする IBM MQ キュー・マネージャーは、 JMS 宛先に処理に適したメッセージがある場合に、クラスター・メンバーに通知する必要があります。

WebSphere Application ServerIBM MQ キュー・マネージャーに接続している場合、 JMS 宛先に到着するメッセージは、その JMS 宛先に登録されているすべての非同期コンシューマーにより均等に配布されます。 WebSphere Application Server 7.0 および WebSphere Application Server 8.0 クラスター内にデプロイされたメッセージ駆動型 Bean アプリケーションの場合、これは、メッセージがクラスター・メンバー間でより均等に分散されることを意味します。