WebSphere MQ и кластеры
- В следующей форме вводим имя второго менеджера очередей. По своему виду она аналогична форме, изображенной на рис. 6.3.
- Следующая форма – информационная. Она говорит о том, что каждый менеджер должен иметь кластерные каналы sender и receiver, с помощью которых он может соединяться с другими менеджерами, включенными в кластер. Имя receiver канала может использоваться в дальнейшем для создания одноименных sender каналов на других менеджерах, включенных в кластер.
- В форме, изображенной на рис. 6.4, вводим имя receiver канала для первого менеджера QM_Win2000_REP и имя (или IP адрес) компьютера с портом для службы "Listener" этого же менеджера.
- Следующая форма (рис. 6.5) аналогична изображенной на рис. 6.4. В ней вводим имя receiver канала для второго менеджера QM_Win2000 и IP адрес компьютера с портом для данного менеджера. Напомним, что для менеджера по умолчанию имя порта равно 1414 и его указывать не обязательно.
- Далее выводится суммарная информация о конфигурации кластерных объектов, которую можно распечатать, а при нажатии клавиши "Готово" создается кластер и пара кластерных каналов на обоих менеджерах. Убедиться в этом можно, увидев в WebSphere MQ Explorer (рис. 6.6) в группе Clusters кластер THUNDER, в который входят менеджеры очередей QM_Win2000 и QM_Win2000_REP, а менеджер QM_Win2000_REP имеет кластерный канал sender TO_QM_Win2000 и кластерный канал receiver TO_QM_Win2000_REP.
Следует сказать, что кластерные каналы могут использоваться как обычные для передачи сообщений между менеджерами очередей. Так, создав необходимые объекты на удаленном менеджере, не включенном в кластер можно использовать имя кластерного канала receiver для создания sender канала, и наоборот. Использовать эту возможность не рекомендуется, так как для четкости построения потоков передачи данных целесообразно использовать для каждого потока свои объекты WebSphere MQ, дифференцируя количество потоков с количеством и размером сообщений в каждом потоке. Подробнее на вопросах производительности мы остановимся в лекции 7.
Таким образом, создав объекты WebSphere MQ (очереди и каналы) на одном менеджере можно видеть их "отображение" на другом, управление очередями становится доступным как на одном, так и на другом менеджере. При создании очередей теперь необходимо указывать, в зависимости от их назначения, доступна ли она кластеру и какому именно. При создании очередей через WebSphere MQ Explorer первый вопрос задается сразу после ввода имени очереди и нажатии на кнопку "Ok". При положительном ответе форма создания очереди переходит на закладку "Cluster" и предлагает выбрать имя доступного кластера. Отметим тот факт, что при создании кластерных очередей директории для них не создаются, как это было в отношении локальных очередей. Вся информация будет находиться в SYSTEM.CLUSTER.REPOSITORY.QUEUE и будет передаваться в такую же очередь на менеджеры, включенные в кластер.
Рассмотрим пример передачи сообщений в кластере. Создадим локальную очередь с именем Win2000.CQ (CQ – cluster queue) на менеджере QM_Win2000:
runmqsc QM_Win2000 define qlocal('Win2000.CQ') cluster('THUNDER') refresh cluster('THUNDER') end
Создадим локальную очередь с именем Win2000_REP.CQ на менеджере QM_Win2000_REP:
runmqsc QM_Win2000_REP define qlocal('Win2000_REP.CQ') cluster('THUNDER') refresh cluster('THUNDER') end
Поместив тестовое сообщение в очередь Win2000_REP.CQ с помощью контекстного меню WebSphere MQ Explorer (рис. 6.7) на менеджере очередей QM_Win2000 можно его увидеть на менеджере QM_Win2000_REP. И наоборот, поместив тестовое сообщение в очередь Win2000.CQ на менеджере очередей QM_Win2000_REP можно его увидеть на менеджере QM_Win2000.