1

5000 以上のクライアント、10 のゲートウェイ サーバー、6 つのバックエンド サーバーがあります。ゲートウェイ サーバーとバックエンド サーバーの両方が同じクラスター内にあります。v7.0.1 がクライアントと gaetway サーバーで使用されている場合、CCDT が使用されている場合、ラウンド ロビン負荷分散は可能ですか? 10 台のゲートウェイ サーバーすべてに均等に負荷を分散したいと考えています。

ありがとうございました

4

1 に答える 1

2

クライアントとサーバーの両方でWMQv7.0.1を使用しているのは素晴らしいことです。ロードバランシングを取得する秘訣は、CCDTのチャネルにタグを付ける方法にあります。CCDTファイルを作成する場合、QMNAMEパラメーターは実際のQMgr名と一致する必要はありません。実際、QMNAMEと呼ぶのは、それとクライアントが接続するQMgr名との間に何らかの相関関係があるという予想につながるため、かなり残念です。実際、これはCCDTの検索中にクライアントアプリが使用するための単なるインデックスです。

したがって、10個のQMgr用にCCDTを作成する場合、それぞれに異なるチャネル名が必要になりますが、すべてに同じQMgr名を使用します。たとえば、

DEF CHL(QMGR01.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR)
DEF CHL(QMGR02.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR)
...
DEF CHL(QMGR10.CLNT) CHLTYPE(CLNTCONN) QMNAME(GTWY.QMGR)

次に、アプリケーションが接続する必要がある場合、QMgr名としてGTWY.QMGRを指定します。これは、チャネルエントリのグループに解決されます。

OK、それでフェイルオーバーはできますが、負荷分散はできません。ロードバランシングを取得するには、V7のドキュメントの「チャネルの重み付けとアフィニティの例」セクションで説明されているように、CLNTWGHTパラメータとAFFINITYパラメータを設定する必要があります。親セクション全体( WebSphere MQクライアント・アプリケーションをキュー・マネージャーに接続する)、特にCCDTとMQCONNのセクションを読むことをお勧めします。

于 2010-06-18T13:23:12.340 に答える