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

Построение инфраструктуры WebSphere MQ: практическое руководство

10.4.6. Предоставление общего доступа к очередям кластера

Описанные в этом разделе действия выполняются над всеми менеджерами очередей кластера.

Ниже рассказывается, как создать в каждом из менеджеров кластера очередь с именем cluster.queue и предоставить к ней общий доступ.

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

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

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

  1. Щелкните правой кнопкой папку Queues менеджера очередей, расположенного в папке Queue Managers навигатора, и выберите New\Local Queue.
  2. Введите cluster.queue в поле Name.
  3. Щелкните Next.
  4. Перейдите в секцию Cluster.
  5. Выберите Shared in cluster.
  6. Введите example.cluster в поле, которое станет доступным.
  7. Щелкните Finish.
Применение команд MQSC

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

DEFINE QLOCAL('cluster.queue') CLUSTER('example.cluster')

10.4.7. Активация балансировки нагрузки для локального экземпляра очереди

Описанные в этом разделе действия выполняются над всеми менеджерами очередей в кластере.

По умолчанию сообщения доставляются в локальную очередь (если очередь-адресат существует в менеджере очередей, к которому подключено приложение).

В WebSphere MQ V6.0 это правило можно переопределить, активировав механизм балансировки нагрузки для локального и всех остальных экземпляров общей очереди в кластере.

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

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

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

  1. Щелкните правой кнопкой значок менеджера очередей в папке Queue Managers в окне навигатора и выберите Properties.
  2. Выберите секцию Cluster в окне свойств менеджера очередей.
  3. Измените значение поля CLWL use queue на Any.
  4. Щелкните OK.
Применение команд MQSC

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

ALTER QMGR CLWLUSEQ(ANY)

10.4.8. Балансировка нагрузки по обработке сообщений очередями

Следующие действия можно выполнить над любым менеджером очередей в кластере.

  1. Подключитесь к любому менеджеру очередей и добавьте несколько сообщений. Так, в следующем примере добавляется 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
  2. Обратите внимание на текущую длину очереди. Просмотрите очередь cluster.queue в каждом из менеджеров очередей кластера (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ).
    Примечание Число сообщений, попавших в разные экземпляры общей очереди кластера, может отличаться.

10.4.9. Предоставление общего доступа к службе echo в кластере

Ниже рассказывается, как ввести менеджер очередей host1/echo.hub в кластер и предоставить всем менеджерам очередей кластера общий доступ к службе echo. Единственная задача администратора в этом случае – ввести в кластер менеджер очередей host1/echo.hub.

Ниже эти действия описаны более подробно (см. также "Построение инфраструктуры WebSphere MQ: практическое руководство" и "Построение инфраструктуры WebSphere MQ: практическое руководство" ).

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

  1. Создайте объект кластерного receiver-канала со следующими параметрами:
    • имя: clus.host1/echo.hub ;
    • имя подключения (атрибут CONNAME ): host1.example.com(9001) ;
    • кластер (атрибут CLUSTER ): example.cluster.
  2. Создайте объект кластерного sender-канала:
    • имя: clus.host1/full ;
    • имя подключения (атрибут CONNAME ): host1.example.com(9031) ;
    • кластер (атрибут CLUSTER ): example.cluster.
  3. Измените объект локальной очереди echo, чтобы опубликовать его в кластере.
    • С помощью WebSphere MQ Explorer:
      • Выберите папку Queues менеджера очередей host1/echo.hub, расположенную в папке Queue Managers в окне навигатора, и выберите Properties.
      • Перейдите в секцию Cluster.
      • Выберите Shared in cluster.
      • Введите example.cluster в поле, которое станет доступным.
      • Щелкните OK.
    • С помощью команд MQSC:
      ALTER QLOCAL('echo') CLUSTER('example.cluster')
    Примечание Не забывайте заключать атрибуты в составе команд MQSC в одинарные кавычки.

10.4.10. Предоставление общего доступа к очереди echo в кластере

Эту операцию можно выполнить путем запроса службы echo, выполнив программу-пример WebSphere MQ amqsreq с любым из менеджеров очередей кластера.

Примечание Предполагается, что менеджер очередей host1/echo.hub настроен для предоставления доступа к работающей в нем службе echo через очередь echo. Кроме того, у очереди инициации echo.initq должен быть активный триггерный монитор. Рекомендуется убедиться, что служба доступна локальным приложениям, подключенным к менеджеру очередей host1/echo.hub, прежде чем переходить к следующим действиям (см. "Обмен сообщениями с использованием WebSphere MQ: практическое введение" ).

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

  1. Объявите модельную очередь или локальную очередь с именем echo.replies с атрибутами по умолчанию в менеджере очередей.
  2. Выполните следующую команду, указав имя этого менеджера очередей как параметр:
    amqsreq echo host2/partial echo.replies
  3. Введите сообщение и нажмите Enter.
  4. Не вводя текстa, нажмите Enter.
  5. Ожидайте в течение 10 секунд.
  6. Если команды завершатся успешно, выводится текст введенного ранее сообщения:
    response <текст_тестового_сообщения>
Примечание Если вы столкнулись с трудностями, обратитесь к "Обмен сообщениями с использованием WebSphere MQ: практическое введение" .