Балансировка нагрузки клиентских подключений - PullRequest
1 голос
/ 18 июня 2010

У нас более 5000 клиентов, 10 серверов шлюзов и 6 внутренних серверов. Оба шлюза и серверы бэкэнда находятся в одном кластере. Если v7.0.1 используется на клиентах и ​​серверах gaetway, возможно ли циклическое распределение нагрузки при использовании CCDT? Мы хотим распределить нагрузку даже на все 10 серверов шлюзов.

Спасибо

1 Ответ

2 голосов
/ 18 июня 2010

Здорово, что вы используете WMQ v7.0.1 как на клиенте, так и на сервере!Хитрость в получении балансировки нагрузки заключается в том, как вы помечаете каналы в CCDT.При создании файла CCDT параметр QMNAME не обязательно должен совпадать с фактическим именем QMgr.На самом деле, называть его QMNAME довольно неудачно, потому что это приводит к ожиданию, что есть некоторая корреляция между этим и именем QMgr, к которому подключается клиент.Фактически, это просто индекс для клиентского приложения, используемого при поиске в CCDT.

Так что, когда вы создаете CCDT для своих 10 QMgrs, каждому из них потребуется свое имя канала, но для этого будет использоваться одно и то же имя 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)

Затем, когда приложению необходимо подключиться, оно указывает GTWY.QMGR в качестве имени QMgr.Это разрешает группу записей канала.

ОК, так что вы получаете аварийное переключение, но не балансировку нагрузки.Чтобы получить балансировку нагрузки, вам нужно установить параметры CLNTWGHT и AFFINITY, как описано в документации V7 в разделе Примеры взвешивания каналов и сходства .Я бы посоветовал прочитать весь родительский раздел Подключение клиентских приложений WebSphere MQ к администраторам очередей , особенно разделы по CCDT и MQCONN.

...