Построение инфраструктуры WebSphere MQ: практическое руководство
10.3. Построение центрально-лучевой инфраструктуры
В этом разделе рассказывается, как сделать менеджер очередей host1/echo.hub центральным элементом такой инфраструктуры, как создать периферийные менеджеры очередей ("лучи") и вручную настроить взаимодействие между менеджерами, представляющими "центр" и "лучи" инфраструктуры.
В результате все периферийные менеджеры очередей получат доступ к службе echo, работающей в менеджере host1/echo.hub.
10.3.1. Создание очереди недоставленных сообщений для центрального менеджера
Ниже рассказывается, как создать очередь недоставленных, сообщений (dead letter queue) для менеджера очередей host1/echo.hub, чтобы не потерять неверно адресованные непостоянные сообщения. Без этой предосторожности найти сообщения, циркулирующие в инфраструктуре, с использованием каналов бывает очень сложно. Данная задача решается с использованием WebSphere MQ Explorer или команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой папку Queues для менеджера очередей host1/echo.hub и выберите New\Local Queue.
- Введите dead.letters в поле Name.
- Щелкните Finish.
- Щелкните правой кнопкой значок менеджера очередей host1/echo.hub и выберите Properties.
- Перейдите в секцию Extended окна свойств.
- Введите dead.letters в поле Dead letter queue.
- Щелкните OK.
Применение команд MQSC
Выполните следующие действия.
- Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub, чтобы создать объект локальной очереди:
DEFINE QLOCAL('dead.letters')
- Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub, чтобы настроить его объект для использования ранее созданной очереди недоставленных сообщений:
ALTER QMGR DEADQ('dead.letters')
10.3.2. Создание объекта receiver-канала для центрального менеджера очередей
Ниже рассказывается, как объявить для центрального менеджера очередей объект канала, обеспечивающий связь с периферийными менеджерами очередей центральнолучевой инфраструктуры (в этом примере используется единственный объект receiver-канала). Ниже описано, как настроить связь между центральным и каждым из периферийных менеджеров очередей.
Это делается с использованием WebSphere MQ Explorer или команд MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой папку Channels менеджера очередей host1/echo.hub и выберите New\Receiver Channel.
- Введите to.host1/echo.hub в поле Name.
- Щелкните Finish.
Применение команд MQSC
- Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub:
DEFINE CHANNEL('to.host1/echo.hub') CHLTYPE(RCVR)
- Проверьте атрибуты канала, выполнив следующую команду MQSC:
DISPLAY CHANNEL('to.host1/echo.hub')
10.3.3. Создание и запуск периферийного менеджера очередей со слушателем
Рекомендуется выполнить приведенные ниже инструкции хотя бы один раз, чтобы освоить создание периферийных менеджеров очередей. В дальнейшем при необходимости можно создавать дополнительные периферийные менеджеры, повторяя эти действия с использованием других менеджеров и имен подключений.
Сначала создайте и запустите новый менеджер очередей (предполагается, что имя менеджера очередей, созданного первым, будет host2/spoke ).
Для новых менеджеров можно увеличить число в имени host2 либо заменять его именами компьютеров (если вы используете несколько разных компьютеров).
Чтобы различать компьютеры, на которых работают центральный и периферийные менеджеры очередей, ниже используется хост-имя namehost2.example.com.
Его следует заменить хост-именем либо IP-адресом реального компьютера. Как и в предыдущих примерах, все менеджеры очередей могут работать на одном компьютере. В этом случае замените host2.example.com IP-адресом либо хост-именем локального компьютера либо на localhost.
Для каждого из менеджеров очередей необходимо определить слушатель. Если предполагается использовать на одном компьютере несколько менеджеров очередей, рекомендуется назначать им номера портов, связанные с их именами. Так, слушатель первого из периферийных менеджеров очередей следует привязать к порту 9002.
Для каждого следующего менеджера увеличивайте номер порта на единицу во избежание путаницы.
Также рекомендуется создать для каждого из периферийных менеджеров очередь недоставленных сообщений (см. "Построение инфраструктуры WebSphere MQ: практическое руководство" ; имя " host1/echo.hub " следует заменить именами периферийных менеджеров очередей).
10.3.4. Создание транспортной очереди для периферийного менеджера очередей
Транспортная очередь (transmission queue) играет роль временного хранилища сообщений, предназначенных для передачи другому менеджеру очередей в составе инфраструктуры. Однако сама по себе транспортная очередь не передает сообщения другому менеджеру. Это просто объект локальной очереди, назначенный для использования в этой роли.
Для работы с транспортными очередями применяют WebSphere MQ Explorer и команды MQSC.
Применение WebSphere MQ Explorer
Выполните следующие действия.
- Щелкните правой кнопкой папку Queues менеджера очередей host2/spoke и выберите New\Local Queue.
- Введите host1/echo.hub в поле Name.
- Щелкните Next.
- Выберите значение Transmission в поле Usage.
- В поле Description введите следующий текст:
Transmission queue for messages to host1/echo.hub
- Щелкните Finish.
Применение команд MQSC
Выполните следующую команду MQSC в отношении менеджера очередей host2/spoke:
DEFINE QLOCAL('host1/echo.hub') USAGE(XMITQ) + DESCR('Transmission queue for messages to host1/echo.hub')