WebSphere アプリケーション・サーバーも IBM MQ キュー・マネージャーもクラスター化されている場合の相互運用
メッセージ・ワークロードを配分するため、およびあるキュー・マネージャーに障害が発生した場合でも他のキュー・マネージャーが引き続き稼働できるように、通常 IBM MQ キュー・マネージャーはクラスター化されています。
注: このトピックでは、「アプリケーション・サーバー」は WebSphere® Application Server 上で稼働するアプリケーション・サーバーを指し、「キュー・マネージャー」は IBM MQ 上で稼働するキュー・マネージャーを指します。
以下の 2 つのトポロジー・オプションがあります。
- キュー・マネージャーがアプリケーション・サーバーとは異なるホストで稼働する
- キュー・マネージャーがアプリケーション・サーバーと同じホストで稼働する
キュー・マネージャーがアプリケーション・サーバーとは異なるホストで稼働する
下の図では、以下が示されています。
- アプリケーション・サーバー 1、2、および 3 は、WebSphere Application Server クラスターでクラスター化されます。
- アプリケーション・サーバー 1 および 3 はホスト 1 で稼働しています。
- アプリケーション・サーバー 2 はホスト 2 で稼働しています。
- キュー・マネージャー 1、2、および 3 は、同じ IBM MQクラスターに属しています。
- キュー・マネージャー 1 はホスト 3 で稼働しています。
- キュー・マネージャー 2 はホスト 4 で稼働しています。
- キュー・マネージャー 3 はホスト 5 で稼働しています。
- キュー・マネージャー 3 は、ワークロード・バランシングが達成されるよう、クラスター・キュー間でメッセージを配分しています。
- 「クライアント」接続は、アプリケーション・サーバーとキュー・マネージャーが異なるホストで稼働している場合に使用されます。キュー・マネージャーとの通信に使用される TCP/IP ネットワーク接続です。クライアント接続は「ソケット接続」とも呼ばれます。
- アプリケーション・サーバー 1 および 2 は、クライアント・モードでキュー・マネージャー 1 に接続しています。
- アプリケーション・サーバー 3 は、クライアント・モードでキュー・マネージャー 2 に接続しています。
図 1. WebSphere Application
Server クラスタリング: キュー・マネージャーとのクライアント・モード接続

- アプリケーション・サーバー 1 に障害が発生した場合:
- 同じキュー・マネージャー 1 に接続しているアプリケーション・サーバー 2 が、そのワークロードを引き継ぐことができます。
- アプリケーション・サーバー 2 に障害が発生した場合:
- 同じキュー・マネージャー 1 に接続しているアプリケーション・サーバー 1 が、そのワークロードを引き継ぐことができます。
- アプリケーション・サーバー 3 に障害が発生した場合:
- 以下の理由により、できるだけ早く再始動する必要があります。
- クラスター内の他のアプリケーション・サーバーは、アプリケーション・サーバー 3 の外部ワークロードを引き継ぐことができますが、他のアプリケーション・サーバーはキュー・マネージャー 2 に接続されていないため、アプリケーション・サーバー 3 の IBM MQ ワークロードを引き継ぐことができません。アプリケーション・サーバー 3 によって生成されたワークロードは停止します。
- キュー・マネージャー 2 に到達したワークロードをアプリケーション・サーバー 1 または 2 によって処理することができない場合でも、キュー・マネージャー 3 は、キュー・マネージャー 1 とキュー・マネージャー 2 に引き続き作業を配分します。
注: 再始動しないことを選択した場合、キュー・マネージャー 2 の Q1 を、そこにメッセージを配置する機能が禁止されるように手動で構成することによって、この状態を改善できます。この結果、キュー・マネージャー 1 にすべてのメッセージが送信され、他のアプリケーション・サーバーによって処理されます。 - キュー・マネージャー 1 に障害が発生した場合:
- 以下の理由により、できるだけ早く再始動する必要があります。
- キュー・マネージャー 1 に障害が発生した場合、キュー・マネージャー 1 にあるメッセージは、キュー・マネージャー 1 を再始動するまで処理されません。
- IBM MQ アプリケーションからの新規メッセージは、キュー・マネージャー 1 には送信されません。その代わりに、新規メッセージはキュー・マネージャー 2 に送信され、アプリケーション・サーバー 3 によってコンシュームされます。
- アプリケーション・サーバー 1 および 2 はキュー・マネージャー 2 に接続されていないため、キュー・マネージャー 2 のワークロードを取り込むことはできません。
- アプリケーション・サーバー 1、2、および 3 は同じ WebSphere Application Server クラスター内にあるため、たとえキュー・マネージャー 1 に障害が発生してアプリケーション・サーバー 1 および 2 が IBM MQ を使用できない場合でも、それらのアプリケーション・サーバーの IBM MQ 以外のワークロードは、すべてのアプリケーション・サーバー間で引き続き配分されます。
このネットワーキング・トポロジーによって可用性とスケーラビリティーがもたらされますが、異なるキュー・マネージャーでのワークロードと、それらのキュー・マネージャーが接続されている アプリケーションとの間の関係は複雑になります。専門家のアドバイスが必要な場合には、IBM® 担当員にお問い合わせください。
キュー・マネージャーがアプリケーション・サーバーと同じホストで稼働する
下の図では、以下が示されています。
- アプリケーション・サーバー 1、2、および 3 は、同じ WebSphere Application Server クラスターに属しています。
- アプリケーション・サーバー 1 および 3 はホスト 1 で稼働しています。
- アプリケーション・サーバー 2 はホスト 2 で稼働しています。
- キュー・マネージャー 1、2、および 3 は、同じ IBM MQクラスターに属しています。
- キュー・マネージャー 1 はホスト 1 で稼働しています。
- キュー・マネージャー 2 はホスト 2 で稼働しています。
- キュー・マネージャー 3 はホスト 3 で稼働しています。
- キュー・マネージャー 3 は、ワークロード・バランシングが達成されるよう、クラスター・キュー間でメッセージを配分しています。
- 接続用のトランスポート・タイプは「バインディング」として指定されます。「バインディング」接続は、アプリケーション・サーバーとキュー・マネージャーが同じホストで稼働している場合に使用されます。これは、キュー・マネージャーとの通信に使用されるクロスメモリー接続です。バインディング接続は「呼び出し接続」としても知られています。
- アプリケーション・サーバー 1 および 3 は、バインディング・モードでキュー・マネージャー 1 に接続します。
- アプリケーション・サーバー 2 は、バインディング・モードでキュー・マネージャー 2 に接続します。
図 2. WebSphere Application Server クラスタリング: キュー・マネージャーとのバインディング・モード接続

- アプリケーション・サーバー 1 に障害が発生した場合:
- 同じキュー・マネージャー 1 に接続しているアプリケーション・サーバー 3 が、そのワークロードを引き継ぐことができます。
- アプリケーション・サーバー 3 に障害が発生した場合:
- 同じキュー・マネージャー 1 に接続しているアプリケーション・サーバー 1 が、そのワークロードを引き継ぐことができます。
- アプリケーション・サーバー 2 に障害が発生した場合:
- 以下の理由により、できるだけ早く再始動する必要があります。
- キュー・マネージャー 2 に接続しているアプリケーション・サーバーは他にないので、その IBM MQ ワークロードを引き継ぐことができるアプリケーション・サーバーがありません。 アプリケーション・サーバー 2 によって生成されたワークロードは停止します。 ただし、同じクラスター内の他のアプリケーション・サーバーが、その外部ワークロードを引き継ぐことができます。
- キュー・マネージャー 3 は、キュー・マネージャー 2 に到達したワークロードをアプリケーション・サーバー 2 が引き継ぐことができない場合でも、引き続きキュー・マネージャー 1 およびキュー・マネージャー 2 に作業を配分します。
注: 再始動しないことを選択した場合、 キュー・マネージャー 2 の Q1 を、そこにメッセージを配置する機能が禁止されるように手動で構成することによって、この状態を改善できます。この結果、キュー・マネージャー 1 にすべてのメッセージが送信され、他のアプリケーション・サーバーによって処理されます。
- キュー・マネージャー 1 に障害が発生した場合:
- 以下の理由により、できるだけ早く再始動する必要があります。
- キュー・マネージャー 1 に障害が発生した場合、キュー・マネージャー 1 にあるメッセージは、キュー・マネージャー 1 を再始動するまで処理されません。
- アプリケーション・サーバー 1 および 3 はキュー・マネージャー 2 に接続されていないため、キュー・マネージャー 2 のワークロードを取り込むことはできません。
- IBM MQ アプリケーションからの新規メッセージは、キュー・マネージャー 1 には送信されません。その代わりに、新規メッセージはキュー・マネージャー 2 に送信され、アプリケーション・サーバー 2 によってコンシュームされます。
- アプリケーション・サーバー 1、2、および 3 は、同じ WebSphere Application Server クラスター内にあるため、キュー・マネージャー 1 に障害が発生したために アプリケーション・サーバー 1 および 3 が IBM MQ を使用できない場合でも、IBM MQ 以外のそれらのワークロードは、すべてのアプリケーション・サーバー間で引き続き配分されます。
このネットワーキング・トポロジーによって可用性とスケーラビリティーがもたらされますが、異なるキュー・マネージャー上のワークロードと、それらのキュー・マネージャーを接続しているアプリケーション・サーバーとの間の関係は複雑になります。専門家のアドバイスが必要な場合には、IBM 担当員にお問い合わせください。