Как синхронизировать хост F5 LTM и диспетчер очередей с несколькими экземплярами, переключаясь между узлами

Я работаю над решением высокой доступности, используя диспетчеры очередей с несколькими экземплярами и хост F5 BigIP/LTM, который содержит пул активных и пассивных узлов MQ. Конфигурация BigIP будет иметь сценарий проверки работоспособности, который будет определять активные и пассивные узлы для администратора очередей MI и постоянно перенаправлять клиентские подключения на активный узел. Чтобы достичь этого, мне хотелось бы знать все внутренние проверки, выполняемые диспетчером очередей с несколькими экземплярами, перед переключением с активного узла на пассивный, чтобы я мог применить ту же логику к нашим сценариям проверки работоспособности. Также мне хотелось бы знать, поддерживает ли конфигурация BigIP проверку работоспособности MQ?


person sijo0703    schedule 26.08.2015    source источник


Ответы (1)


Менеджеры очередей с несколькими экземплярами конкурируют за арендованные блокировки файлов в файловой системе NFS4. Пассивный узел активируется, когда он получает блокировку. F5 не сможет использовать тот же метод для проверки работоспособности QMgr.

Лучший совет — использовать функциональность, встроенную в MQ. По состоянию на конец следующего месяца (сентябрь 2015 г.) все версии MQ, поддерживаемые IBM, могут использовать мультиэкземпляр CONNAME. Так что, если вам нужна F5, чтобы найти активный QMgr по состоянию на следующий месяц, единственная возможная причина в том, что клиенты используют неподдерживаемую версию MQ. Будем надеяться, что это более приоритетная проблема, чем настройка F5 для дублирования собственных функций MQ — при условии, что ваша компания платит за поддержку IBM и ожидает получить ее при открытии PMR.

Тем не менее, чтобы настроить F5 с MQ, вы должны настроить его для полусоединения TCP, а затем опросить порт прослушивателя MQ на каждом из двух IP-адресов. Если он может подключиться, то активный IP-адрес — это активный QMgr, а другой IP-адрес в паре — это QMgr, который вышел из строя или находится в режиме ожидания. Бывают случаи, когда прослушиватель MQ работает, но приложение не может подключиться, например, когда QMgr приостанавливается, но работа приложения заключается в решении таких проблем с подключением. F5 не может защитить приложение от этого.

person T.Rob    schedule 27.08.2015
comment
Когда вы говорите CONNAME, это означает, что клиенты приложений могут использовать CONNAME с несколькими экземплярами в вызовах API приложений? - person sijo0703; 16.09.2015
comment
Да! Как описывает IBM здесь приложение вызывает MQCONNX, используя структуру MQCD, которая указывает CONNAME. Это поле может содержать любые допустимые CONNAME. Также можно использовать мультиэкземпляр CONNAME в управляемых объектах, переменную MQSERVER, файл CCDT и т. д. - person T.Rob; 16.09.2015
comment
Я считаю, что то же самое может быть достигнуто с помощью клиентского приложения, использующего файл привязки клиента для подключения к удаленному диспетчеру очередей. Можно ли определить фабрику соединений с очередью с помощью строки с несколькими соединениями? - person sijo0703; 14.10.2015
comment
Да. См. CONNECTIONNAMELIST объекта connectionFactory. - person T.Rob; 15.10.2015
comment
Спасибо! Как насчет того, если клиент — это OSB (служебная шина Oracle), подключающийся к диспетчеру очередей с несколькими экземплярами. Я не смог найти, что режим tcp в OSB обеспечивает аналогичный механизм, как CONNECTIONNAMELIST в MQ. - person sijo0703; 23.10.2015
comment
IBM не будет предоставлять поддержку для всего, что взаимодействует с MQ, если не используется ни один из поддерживаемых клиентов. Если клиент поддерживается, то он поддерживает CONNAME с несколькими экземплярами. Так что либо есть способ заставить его работать, либо не делайте этого, потому что он не поддерживается. - person T.Rob; 24.10.2015