Темы кластера

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

Существует два способа маршрутизации публикаций в кластере публикации/подписки: прямая маршрутизация и маршрутизация хоста темы. Для выбора маршрутизации сообщений в кластере необходимо свойству CLROUTE администрируемого объекта темы присвоить одно из следующих значений:
  • DIRECT
  • TOPICHOST

По умолчанию маршрутизация темы - DIRECT. Это единственный способ маршрутизации в версиях до IBM® MQ 8.0. При настройке темы кластера с прямой маршрутизацией в администраторе очередей все администраторы очередей кластера уведомляются обо всех остальных администраторах очередей в кластере. При выполнении операций публикации и подписки каждый администратор очередей подключается напрямую ко всем остальным администраторам очередей.

В IBM MQ 8.0 можно выбрать маршрутизацию TOPICHOST. Когда используется маршрутизация хоста темы, все администраторы очередей в кластере уведомляются об администраторах очередей, которые содержат маршрутизируемые определения темы. При выполнении операций публикации и подписки администраторы очередей в кластере подключаются только к этим администраторам очередей хоста темы, а не непосредственно друг к другу. Администраторы очередей хоста темы отвечают за маршрутизацию публикаций от администраторов очередей, где публикации публикуются, в администраторы очередей с соответствующими подписками.

Кластер публикации/подписки с маршрутизацией хоста темы обладает следующими преимуществами:
  • Усовершенствована масштабируемость больших кластеров. Только администраторы очередей хостов тем должны соединяться со всеми остальными администраторами очередей в кластере. Таким образом, создается меньшее число каналов связи между администраторами очередей и, соответственно, снижается административный поток данных подписки/публикации между администраторами очередей по сравнению с прямой маршрутизацией. В случае изменения подписок в администраторе очередей информируются только администраторы очередей хоста темы.
  • Расширен контроль за физической конфигурацией. При прямой маршрутизации всем администраторам очередей присвоены все роли, поэтому они все должны быть равны в плане функциональности. При маршрутизации хостов тем необходимо явно указать администраторы очередей хостов тем. Поэтому можно обеспечить работу таких администраторов очередей на соответствующем оборудовании, а для других администраторов очередей можно использовать системы меньшей мощности.

Эффект от создания локальной темы и темы кластера

Объект локальной темы создается, когда требуется, чтобы подключенные к администратору очередей приложения-публикаторы публиковали только для локально подключенных подписчиков. Локальное определение темы всегда переопределяет любые кластерные определения темы в удаленных администраторах очередей.

Прим.: Также необходимо указать значение Администратор очередей в параметре Область публикаций локального объекта темы. Если Область публикаций равна Все, то удаленным подписчикам также передаются публикации, опубликованные по теме, которая определена в этом администраторе очередей.

Множественные определения тем кластера в кластере с прямой маршрутизацией

В кластере с прямой маршрутизацией тема кластера обычно создается только на одном администраторе очередей кластера. Причиной этого является то, что прямая маршрутизация делает тему доступной всем администраторам очередей в кластере.

Также не требуется, чтобы администратор очередей хоста был постоянно доступен, поскольку определение темы кластера кэшируется администраторами очередей полного хранилища и всеми остальными администраторами очередей в своих неполных хранилищах кластера. Такое кэширование обеспечивает доступ в течение не менее 60 дней, пока администратор очередей хоста недоступен.

Если необходимо изменить определение темы кластера, это должно делаться в том же администраторе очередей, где тема была определена.

Множественные определения тем кластера в кластере с маршрутизацией хоста темы

В кластере с маршрутизацией хоста темы весь обмен сообщениями публикации/подписки передается через хосты темы. Поэтому для обеспечения масштабирования и доступности обычно тему кластера создают в нескольких администраторах очередей. Все определения темы в кластере должны быть одинаковыми.