Компания IBM
Опубликован: 10.06.2008 | Доступ: свободный | Студентов: 732 / 55 | Оценка: 4.18 / 4.00 | Длительность: 26:27:00
Специальности: Системный архитектор
Лекция 10:

Построение инфраструктуры 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

Выполните следующие действия.

  1. Щелкните правой кнопкой папку Queues для менеджера очередей host1/echo.hub и выберите New\Local Queue.
  2. Введите dead.letters в поле Name.
  3. Щелкните Finish.
  4. Щелкните правой кнопкой значок менеджера очередей host1/echo.hub и выберите Properties.
  5. Перейдите в секцию Extended окна свойств.
  6. Введите dead.letters в поле Dead letter queue.
  7. Щелкните OK.
Применение команд MQSC

Выполните следующие действия.

  1. Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub, чтобы создать объект локальной очереди:
    DEFINE QLOCAL('dead.letters')
  2. Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub, чтобы настроить его объект для использования ранее созданной очереди недоставленных сообщений:
    ALTER QMGR DEADQ('dead.letters')
    Примечание Проследите, чтобы значение атрибута DEADQ в точности соответствовало имени только что созданного объекта локальной очереди.

10.3.2. Создание объекта receiver-канала для центрального менеджера очередей

Ниже рассказывается, как объявить для центрального менеджера очередей объект канала, обеспечивающий связь с периферийными менеджерами очередей центральнолучевой инфраструктуры (в этом примере используется единственный объект receiver-канала). Ниже описано, как настроить связь между центральным и каждым из периферийных менеджеров очередей.

Это делается с использованием WebSphere MQ Explorer или команд MQSC.

Применение WebSphere MQ Explorer

Выполните следующие действия.

  1. Щелкните правой кнопкой папку Channels менеджера очередей host1/echo.hub и выберите New\Receiver Channel.
  2. Введите to.host1/echo.hub в поле Name.
  3. Щелкните Finish.
Применение команд MQSC
  1. Выполните следующую команду MQSC в отношении менеджера очередей host1/echo.hub:
    DEFINE CHANNEL('to.host1/echo.hub') CHLTYPE(RCVR)
  2. Проверьте атрибуты канала, выполнив следующую команду 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

Выполните следующие действия.

  1. Щелкните правой кнопкой папку Queues менеджера очередей host2/spoke и выберите New\Local Queue.
  2. Введите host1/echo.hub в поле Name.
  3. Щелкните Next.
  4. Выберите значение Transmission в поле Usage.
  5. В поле Description введите следующий текст:
    Transmission queue for messages to host1/echo.hub
  6. Щелкните Finish.
Применение команд MQSC

Выполните следующую команду MQSC в отношении менеджера очередей host2/spoke:

DEFINE QLOCAL('host1/echo.hub') USAGE(XMITQ) + DESCR('Transmission queue for
messages to host1/echo.hub')
Примечание Следите за правильностью регистра имени менеджера очередей; кроме того, имя должно заключаться в одинарные кавычки.