Построение инфраструктуры WebSphere MQ: практическое руководство
10.4.6. Предоставление общего доступа к очередям кластера
Описанные в этом разделе действия выполняются над всеми менеджерами очередей кластера.
Ниже рассказывается, как создать в каждом из менеджеров кластера очередь с именем cluster.queue и предоставить к ней общий доступ.
Это делается с использованием WebSphere MQ Explorer или команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой папку Queues менеджера очередей, расположенного в папке Queue Managers навигатора, и выберите New\Local Queue.
- Введите cluster.queue в поле Name.
- Щелкните Next.
- Перейдите в секцию Cluster.
- Выберите Shared in cluster.
- Введите example.cluster в поле, которое станет доступным.
- Щелкните Finish.
Применение команд MQSC
Выполните следующую команду MQSC в отношении данного менеджера очередей:
DEFINE QLOCAL('cluster.queue') CLUSTER('example.cluster')
10.4.7. Активация балансировки нагрузки для локального экземпляра очереди
Описанные в этом разделе действия выполняются над всеми менеджерами очередей в кластере.
По умолчанию сообщения доставляются в локальную очередь (если очередь-адресат существует в менеджере очередей, к которому подключено приложение).
В WebSphere MQ V6.0 это правило можно переопределить, активировав механизм балансировки нагрузки для локального и всех остальных экземпляров общей очереди в кластере.
Это делается с использованием WebSphere MQ Explorer или команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой значок менеджера очередей в папке Queue Managers в окне навигатора и выберите Properties.
- Выберите секцию Cluster в окне свойств менеджера очередей.
- Измените значение поля CLWL use queue на Any.
- Щелкните OK.
Применение команд MQSC
Выполните следующую команду MQSC в отношении данного менеджера очередей:
ALTER QMGR CLWLUSEQ(ANY)
10.4.8. Балансировка нагрузки по обработке сообщений очередями
Следующие действия можно выполнить над любым менеджером очередей в кластере.
- Подключитесь к любому менеджеру очередей и добавьте несколько сообщений. Так, в следующем примере добавляется 100 сообщений:
- Windows:
FOR /L %1 IN (1,1,100) DO echo Message%1 | amqsput cluster.queue host1/ partia
- UNIX (с оболочкой Bash или Korn):
i=0; while [ $i -lt 100 ]; do let i=i+1; echo Message$i | amqsput cluster. queue host1/partial; done
- Windows:
- Обратите внимание на текущую длину очереди. Просмотрите очередь cluster.queue в каждом из менеджеров очередей кластера (см.
"Обмен сообщениями с использованием WebSphere MQ: практическое введение"
).Примечание Число сообщений, попавших в разные экземпляры общей очереди кластера, может отличаться.
10.4.9. Предоставление общего доступа к службе echo в кластере
Ниже рассказывается, как ввести менеджер очередей host1/echo.hub в кластер и предоставить всем менеджерам очередей кластера общий доступ к службе echo. Единственная задача администратора в этом случае – ввести в кластер менеджер очередей host1/echo.hub.
Ниже эти действия описаны более подробно (см. также "Построение инфраструктуры WebSphere MQ: практическое руководство" и "Построение инфраструктуры WebSphere MQ: практическое руководство" ).
Выполните следующие действия.
- Создайте объект кластерного receiver-канала со следующими параметрами:
- имя: clus.host1/echo.hub ;
- имя подключения (атрибут CONNAME ): host1.example.com(9001) ;
- кластер (атрибут CLUSTER ): example.cluster.
- Создайте объект кластерного sender-канала:
- имя: clus.host1/full ;
- имя подключения (атрибут CONNAME ): host1.example.com(9031) ;
- кластер (атрибут CLUSTER ): example.cluster.
- Измените объект локальной очереди echo, чтобы опубликовать его в кластере.
- С помощью WebSphere MQ Explorer:
- С помощью команд MQSC:
ALTER QLOCAL('echo') CLUSTER('example.cluster')
Примечание Не забывайте заключать атрибуты в составе команд MQSC в одинарные кавычки.
10.4.10. Предоставление общего доступа к очереди echo в кластере
Эту операцию можно выполнить путем запроса службы echo, выполнив программу-пример WebSphere MQ amqsreq с любым из менеджеров очередей кластера.
Выполните следующие действия.
- Объявите модельную очередь или локальную очередь с именем echo.replies с атрибутами по умолчанию в менеджере очередей.
- Выполните следующую команду, указав имя этого менеджера очередей как параметр:
amqsreq echo host2/partial echo.replies
- Введите сообщение и нажмите Enter.
- Не вводя текстa, нажмите Enter.
- Ожидайте в течение 10 секунд.
- Если команды завершатся успешно, выводится текст введенного ранее сообщения:
response <текст_тестового_сообщения>