フォールしたノードの1つが回復した場合、バランサーを介したセッションの分散には非常に深刻な問題があります。
2つのモジュールの相互作用がどのように配置されているかを簡単に説明します。
一方では、WebShere Application Server(以下、単にWASと呼びます)上のアプリケーション
一方、どのアプリケーションかは不明です
それらの間-2つのWebSphereMQサーバー
WASアプリケーションはバランサーを介してWebShereMQに接続します
2番目の側はMQサーバーに直接接続します(それ自体で接続を分散できるため)
問題が発生したとき:
それで質問です。
2番目のMQを復元するときに、バランサー上のセッションの一部が2番目のMQサーバーに転送されるか、WAS側からの新しいセッションが(即座に)生成されるように、プロセスを何らかの方法で編成することは可能ですか?たとえば、アクティベーション仕様を使い始めたら)?
図の左側のアプリが右側のアプリからの要求のみを処理している場合、現在のIBM MQ v9.1 LTS以下のオプションでは、各インスタンスが接続するように構成されている各WASサーバーにアプリケーションを2回デプロイします。ロードバランサーをバイパスして、単一のIBMMQキューマネージャーに直接接続します。このようにして、1つのMQサーバーがダウンした場合、各Websphereアプリケーションサーバーは、1つのアプリケーションインスタンスから別のMQサーバーへの接続を維持し、使用可能なMQサーバーへの要求を処理します。 Websphereアプリケーション・サーバーは、そのキュー・マネージャーに再接続し、接続を処理します。
MQ v9.1 CD(継続的デリバリー)では、IBMは、キュー・マネージャーとクライアントが連携して、使用可能なキュー・マネージャー間で接続の負荷分散を維持する、ユニフォーム・クラスターと呼ばれる新機能を追加しています。この新機能により、2番目のキュー・マネージャーが復元されると、1番目のキュー・マネージャーは、接続されているクライアントの半分に切断を通知し、2番目のキュー・マネージャーに再接続します。
IBMナレッジセンターのページを参照してください IBM MQ 9.1.x> IBM MQ>計画>複数のキューマネージャーに基づくアーキテクチャ>分散キューとクラスターの計画>クラスターの設計>均一クラスター>自動アプリケーションバランシング :
同じアプリケーションのインスタンスがキューマネージャーの数と少なくとも同じ数ある場合、ユニフォームクラスターは、すべてのキューマネージャーにアプリケーションのインスタンスが少なくとも1つ接続されていることを常に確認します。