IBM MQ

Семейство продуктов промежуточного программного обеспечения, ориентированных на сообщения

IBM MQ — это семейство ориентированных на сообщения промежуточных программных продуктов, которое IBM запустила в декабре 1993 года. Первоначально оно называлось MQSeries и было переименовано в WebSphere MQ в 2002 году для присоединения к набору продуктов WebSphere . В апреле 2014 года оно было переименовано в IBM MQ . Продукты, входящие в семейство MQ: IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ for z/OS и IBM MQ on IBM Cloud. IBM MQ также имеет варианты контейнерного развертывания.

MQ позволяет независимым и потенциально непараллельным приложениям в распределенной системе безопасно взаимодействовать друг с другом, используя сообщения. MQ доступен на большом количестве платформ (как IBM, так и не-IBM), включая z/OS ( мэйнфрейм ), IBM i , Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux и Microsoft Windows .

Компоненты MQ

Основными компонентами MQ являются:

  • Сообщение : Сообщения представляют собой наборы двоичных или символьных (например, ASCII или EBCDIC ) данных, которые имеют некоторое значение для участвующей программы. Как и в других протоколах связи , информация о хранении, маршрутизации и доставке добавляется к сообщению перед передачей и удаляется из сообщения перед доставкой принимающему приложению.
  • Очередь : Очереди сообщений — это объекты, хранящие сообщения в приложении.
  • Queue Manager : системная служба, которая предоставляет логический контейнер для очереди сообщений. Она отвечает за передачу данных другим менеджерам очередей через каналы сообщений. Хотя это не является строго обязательным для промежуточного программного обеспечения, ориентированного на сообщения, это предварительное условие IBM MQ. Менеджеры очередей обрабатывают вопросы хранения, синхронизации, запуска и все другие функции, не связанные напрямую с фактическим перемещением данных.

Программы, интегрированные с IBM MQ, используют единый интерфейс прикладных программ (API) на всех платформах.

Типы сообщений

MQ поддерживает обмен сообщениями «точка-точка» и «публикация-подписка» .

API-интерфейсы

API, напрямую поддерживаемые IBM, включают:

Дополнительные API (официально не поддерживаемые) также доступны через третьих лиц, в том числе:

  • Интерфейс Perl (разработанный и предоставленный Хильдо Бирсма), доступен на CPAN . [3]
  • Интерфейс Python PyMQI (первоначально разработанный Лесом Смитсоном), доступен на PyPI [4]
  • PowerShell [5]

Функции

Одноразовая доставка : MQ использует однократную и только однократную доставку. Такое качество обслуживания обычно предотвращает потерю или дублирование сообщений.

Асинхронный обмен сообщениями : MQ предоставляет разработчикам приложений механизм для достижения архитектуры, не зависящей от времени. Сообщения могут отправляться из одного приложения в другое, независимо от того, запущены ли приложения одновременно. Если приложение-получатель сообщений не запущено, когда отправитель отправляет ему сообщение, менеджер очередей будет удерживать сообщение до тех пор, пока получатель его не запросит. Порядок всех сообщений сохраняется, по умолчанию это порядок FIFO получения в локальной очереди в пределах приоритета сообщения.

Преобразование данных : например, Big Endian в Little Endian или EBCDIC в ASCII . Это достигается с помощью использования выходов данных сообщений. Выходы — это скомпилированные приложения, которые работают на хосте менеджера очередей и выполняются программным обеспечением IBM MQ в момент, когда требуется преобразование данных.

Архитектура, управляемая сообщениями : IBM MQ позволяет получать сообщения для «запуска» других приложений.

Диапазон API : Он реализует стандартный API Java Message Service (JMS), а также имеет свой собственный API, известный как Message Queuing Interface (MQI), который существовал несколько лет до JMS. Начиная с версии 8.0.0.4, MQ также поддерживает MQ Light API.

Кластеризация : несколько реализаций MQ совместно обрабатывают сообщения, обеспечивая балансировку нагрузки.

Коммуникация

Менеджеры очередей общаются с внешним миром посредством:

  • Привязки : прямое программное подключение. Обычно быстрее, но ограничено программами, работающими на том же физическом хосте, что и менеджер очередей.
  • Сетевое или "клиентское" соединение : приложения, использующие клиентское соединение, могут подключаться к менеджеру очередей на любом другом хосте в сети. Физическое местоположение менеджера очередей не имеет значения, пока он доступен по сети.

Коммуникация между менеджерами очередей

Это зависит от канала . Каждый менеджер очередей использует один или несколько каналов для отправки и получения данных другим менеджерам очередей. Канал является однонаправленным; для возврата данных требуется второй канал. В сети на основе TCP/IP канал отправляет или получает данные на определенном порту.

Типы каналов:

  • Канал отправки : имеет определенный пункт назначения и связан с определенной очередью передачи (механизм, с помощью которого сообщения помещаются в очередь, ожидая передачи по каналу).
  • Канал приема : получает данные от любого другого менеджера очередей с каналом отправки с тем же именем.

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

Прослушиватель это сетевой интерфейс приложения к менеджеру очередей. Прослушиватель обнаруживает соединения с входящих каналов и управляет соединением отправляющих каналов с принимающими каналами. В сети TCP/IP прослушиватель будет «прослушивать» соединения на определенном порту.

Передача данных в очередь другого менеджера очередей

Типы очередей:

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

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

Заказ

Хотя очередь является FIFO, она упорядочена на основе получения в локальной очереди, а не фиксации сообщения отправителем. Сообщения могут быть приоритетными, и по умолчанию очередь приоритетна в порядке прибытия. Очереди будут находиться в последовательности добавления только в том случае, если сообщение добавляется локально. Группировка сообщений может использоваться для обеспечения того, чтобы набор сообщений находился в определенном порядке, кроме того, если последовательность имеет решающее значение, приложение несет ответственность за размещение данных последовательности в сообщении или реализацию механизма квитирования через обратную очередь. В действительности порядок будет поддерживаться в простых конфигурациях.

Журнал

Другим элементом менеджера очередей является журнал . Когда сообщение помещается в очередь или вносится изменение конфигурации, данные также регистрируются. В случае сбоя журнал используется для воссоздания поврежденных объектов и сообщений. При возникновении сбоя восстанавливаются только постоянные сообщения — «непостоянные» сообщения теряются. Непостоянные сообщения могут быть отправлены по каналу, установленному в быстрый режим, в котором доставка не гарантируется в случае сбоя канала.

MQ поддерживает как циклическое, так и линейное ведение журнала.

Извлечение сообщений из очередей

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

Доступность

IBM MQ предлагает ряд решений для обеспечения доступности:

Диспетчер очередей реплицированных данных (RDQM / «Easy HA» — MQ Advanced только для распределенных систем): синхронная репликация между тремя серверами, которые имеют общий плавающий IP-адрес.

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

Группы общего доступа к очередям (только z/OS): В среде общей очереди приложение может подключаться к любому из менеджеров очередей в группе общего доступа к очередям. Поскольку все менеджеры очередей в группе общего доступа к очередям могут получать доступ к одному и тому же набору общих очередей, приложение не зависит от доступности конкретного менеджера очередей. Это обеспечивает большую доступность, если менеджер очередей останавливается, поскольку все остальные менеджеры очередей в группе общего доступа к очередям могут продолжать обработку очереди.

Менеджеры очередей с несколькими экземплярами (доступны с версии 7.0.1): экземпляры одного и того же менеджера очередей настраиваются на двух или более компьютерах, а их очереди и метаданные размещаются в общем хранилище. При запуске нескольких экземпляров один экземпляр становится активным, а другие — резервными. Если активный экземпляр выходит из строя, резервный экземпляр, работающий на другом компьютере, автоматически берет на себя управление.

История

Даты выпуска версий

Название версииДата выпуска
IBM MQ 9.4 LTS18 июня 2024 г.
IBM MQ 9.3 LTS23 июня 2022 г.
IBM MQ 9.2 LTS23 июля 2020 г. [6]
IBM MQ 9.1 LTS23 июля 2018 г. [7]
IBM MQ в IBM Cloud13 марта 2018 г. [8]
IBM MQ для HPE Nonstop 8.023 июня 2017 г.
IBM MQ 9.0 LTS2 июня 2016 г. [9]
IBM MQ8.023 мая 2014 г.
WebSphere MQ7.515 июня 2012 г.
WebSphere MQ7.1Ноябрь 2011 г.
WebSphere MQ 7.0 z/ОСИюнь 2008 г.
WebSphere MQ 7.0 (распределенный, iSeries)Май 2008 г.
WebSphere MQ 6.0 z/ОСИюнь 2005 г.
WebSphere MQ 6.0 (распределенный, iSeries)Май 2005 г.
WebSphere MQ 5.3 z/ОСИюнь 2002 г.
WebSphere MQ 5.3 (распределенный, iSeries)Июнь, Июль, Октябрь, Ноябрь 2002
MQSeries 5.2 (распределенный)Декабрь 2000 г.
MQSeries для OS/390 V5.2Ноябрь 2000 г.
MQSeries для AS/400 V5.1Июль-авг. 2000 г.
MQSeries для OS/390 V2.1февраль 1999 г.
MQSeries 5.1Апрель (NT), июнь 1999 г.
MQSeries для AS/400 V4.2февраль 1998 г.
MQSeries 5.0Октябрь 1997 г.
MQSeries для MVS/ESA 1.229 августа 1997 г. [10]
MQSeries для MVS 1.1.4,Июнь 1996 г.
MQSeries 2.2 (ОС Sun/Solaris, DC/OSx)Июнь, июль 1996 г.
MQSeries 2.0 Windows NT2-й квартал 1996 г.
MQSeries 2.2 (HP, SCO)4 квартал 1995 г.
MQSeries для MVS 1.1.3Май 1995 г.
MQSeries 2.0 (OS/2, AIX)Февраль 1995 (начало конца ezBridge)
MQM/400 V34 квартал 1994 г.
ezBridge Transact для MQSeries 3.0Июль 1994 г.
MQSeries для MVS 1.1.2Июнь 1994 г.
MQM/400 V2.3Февраль/апрель 1994 г.
ezBridge Transact для MQSeriesМарт, сентябрь, ноябрь, декабрь 1993 г. (разные платформы)
MQSeries для MVS V1.1.131 декабря 1993 г.

Даты окончания поддержки версий

Следующая таблица относится к программному обеспечению MQ. MQ Appliance имеет другие даты жизненного цикла как для прошивки, так и для оборудования, чем те, что указаны в таблице. [11]

Название версииДоступность для всехКонец маркетингаОкончание поддержки
IBM MQ9.418 июня 2024 г.--
IBM MQ9.323 июня 2022 г.--
IBM MQ9.223 июля 2020 г.-30 сен 2025
IBM MQ9.123-июля-201815-сен-202330-сен-2023
IBM MQ9.002-июня-201617-сен-202130-сен-2021
IBM MQ8.013-июня-201417-апр-202030-апр-2020
WebSphere MQ7.506-июля-201216-дек-201630-апр-2018
WebSphere MQ7.125-ноября-201112-июля-201630-апр-2017

Архитектурная справка

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

В начале 1960-х годов IBM выпустила на рынок систему управления связью IBM 7740 и систему управления программируемой передачей IBM 7750, которые представляли собой программируемые системы коммутации сообщений.

IBM System/360 была анонсирована в апреле 1964 года, и вместе с ней появились методы доступа к коммуникациям, такие как BTAM и QTAM (Basic and Queued Telecommunications Access Methods). В 1971 году TCAM, Telecommunications Access Method , предложил своим пользователям более продвинутую форму коммутации сообщений или маршрутизации сообщений. TCAM получил широкое распространение, особенно в финансовой и брокерской отраслях. Он поддерживал асинхронный обмен сообщениями, как и более поздний MQ. TCAM 3.0 добавил повторно используемые дисковые очереди сообщений для восстановления вскоре после этого, как и в MQ. Высокоуровневая программа PL/I могла использоваться для доступа к наборам данных TRANSIENT (динамическим очередям сообщений). Чтение сообщения из набора данных transient приводило к удалению этого сообщения из очереди, как и в случае с непросмотровым READ с MQ.

В конце 1970-х годов появились системы управления транзакциями, каждая из которых пыталась занять лидирующие позиции в отрасли. В IBM CICS и IMS были выбраны в качестве стратегических продуктов для решения проблемы управления транзакциями. В CICS и IMS у каждой была своя версия коммутации сообщений, IMS была системой с очередями на внешнем интерфейсе, а CICS имела свой механизм Transient Data в качестве возможной основы для коммутации сообщений. [ необходима цитата ]

CICS зарекомендовала себя как популярная система управления транзакциями в период с 1968 по 1971 год. Те пользователи, которые приняли TCAM из-за его возможностей обработки сообщений, теперь хотели комбинированного использования TCAM с CICS. В декабре 1971 года IBM объявила о поддержке CICS TCAM как части продукта CICS/OS-Standard, который должен был быть поставлен в декабре 1972 года. Для заинтересованных клиентов это позволило использовать TCAM из-за его сильных сторон обработки сообщений, а также иметь подключенные к TCAM терминалы или компьютеры, взаимодействующие с онлайн-приложениями CICS. [ необходима цитата ]

В январе 1973 года TCAM продолжал поддерживаться CICS/OS-Standard Version 2.3. Однако поддержка TCAM была исключена из первоначального выпуска CICS/VS, анонсированного в феврале 1973 года и выпущенного в июне 1974 года. Излишне говорить, что многие клиенты CICS-TCAM были недовольны таким направлением продукта.

Под значительным давлением со стороны клиентов CICS-TCAM поддержка TCAM со стороны CICS была восстановлена ​​в продукте CICS/VS 1.1 в сентябре 1974 года. В дополнение к предыдущей поддержке DCB, с этим восстановлением поддержки TCAM, CICS начал поддерживать доступ к TCAM через VTAM, также известный как поддержка ACB. Поддержка CICS TCAM ACB была прекращена с продукта CICS/ESA Version 3 в 1990 году.

В 1992 году IBM анонсировала новый продукт под названием MQSeries. Этот бренд был позже переименован в WebSphere MQ (однако его официальное сокращенное название оставалось MQ) в 2002 году для поддержки имени семейства WebSphere и продукта. В 2014 году он был переименован в IBM MQ. MQ должен был стать расширением функциональности TCAM из систем только IBM на все другие платформы. MQ имеет архитектуру, которая позволяет гетерогенным системам взаимодействовать друг с другом (например, IBM, HP, Sun, Tandem и т. д.). MQ можно использовать с системами CICS для отправки и получения данных в/из любой другой системы, соответствующей требованиям MQ. MQ можно использовать для инициирования работы в системе CICS, или транзакция CICS может инициировать работу в другой системе CICS или не-CICS.

IBM MQ теперь поддерживает 80 различных сред и стал ведущим в отрасли продуктом коммутации/маршрутизации с гарантированной доставкой сообщений. [12]

MQ и веб-сервисы

IBM MQ можно использовать в качестве основы для создания сервисно-ориентированных архитектур . Существует несколько дополнительных вариантов продуктов, помогающих преобразовать устаревшие программы в функционирующие веб-сервисы с помощью MQ. Более крупные, гетерогенные предприятия часто выглядят как федерация несколько автономных доменов, основанных на направлениях бизнеса, функциональных или управленческих областях. В таких средах некоторые сервисы могут совместно использоваться или повторно использоваться только в пределах одного домена, в то время как другие могут совместно использоваться или повторно использоваться по всему предприятию. IBM MQ предоставляет средства, с помощью которых осуществляется связь между направлениями бизнеса или иными отдельными бизнес-доменами.

Связанный продукт в семействе продуктов IBM MQ, называемый IBM App Connect Enterprise (ранее IBM Integration Bus / WebSphere Message Broker), обеспечивает разнообразный и надежный набор расширений для архитектур на основе очередей. Используя IBM Integration Bus, пользователи могут реализовать интерфейс WebServices, дополненный поддержкой файлов WSDL , который может взаимодействовать с любым приложением на основе очередей.

Смотрите также

Ссылки

  1. ^ "MA95: Интерфейс Rexx для WebSphere MQ, версия 1.0.2" (PDF) . IBM. 2010 . Получено 24.11.2024 .
  2. ^ "IBM MQ 9.4 - Разработка приложений XMS .NET". IBM. 2024-07-02.
  3. ^ "MQSeries - расширение Perl для поддержки MQSeries". metacpan.org .
  4. ^ "PyMQI Documentation". Архивировано из оригинала 2013-01-17 . Получено 2010-09-03 .
  5. ^ "MO74: WebSphere MQ — библиотека Windows PowerShell". IBM.
  6. ^ "Анонс IBM MQ 9.2". International Business Machines (IBM). 21 июля 2020 г. Получено 22 октября 2020 г.
  7. ^ "Анонс IBM MQ 9.1". International Business Machines (IBM). 3 июля 2018 г. Получено 6 августа 2018 г.
  8. ^ "Анонс IBM MQ в IBM Cloud". International Business Machines (IBM) . Получено 6 августа 2018 г.
  9. ^ "Анонс IBM MQ 9.0". International Business Machines (IBM). 19 апреля 2016 г. Получено 17 июня 2016 г.
  10. ^ "MQSeries for MVS/ESA Version 1.2". International Business Machines (IBM). 8 июля 1997 г. Получено 10 декабря 2018 г.
  11. ^ «Жизненный цикл поддержки программного обеспечения IBM».
  12. ^ «IBM WebSphere MQ V7.1 улучшен за счет снижения стоимости владения, сокращения времени окупаемости и более настраиваемой безопасности». Анонс программного обеспечения IBM United States 211-395 . IBM. 4 октября 2011 г.
Послушайте эту статью ( 22 минуты )
Разговорный значок Википедии
Этот аудиофайл был создан на основе редакции этой статьи от 29 октября 2011 года и не отражает последующие правки. ( 2011-10-29 )
  • Страница продукта IBM MQ
Взято с "https://en.wikipedia.org/w/index.php?title=IBM_MQ&oldid=1259376282"