IBM MQ - 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 для z / OS и IBM MQ on IBM Cloud. IBM MQ также имеет варианты развертывания в контейнерах.
MQ допускает независимые и потенциально несовместимые приложения на распределенная система безопасно общаться друг с другом, используя сообщения. MQ доступен на большом количестве платформ (как IBM, так и не IBM), включая z / OS (мэйнфрейм ), OS / 400 (IBM System i или AS / 400 ), Средство обработки транзакций, UNIX (AIX, HP-UX, Солярис ), Л.с. Без остановки, OpenVMS, Linux, и Майкрософт Виндоус.
Компоненты MQ
Основные компоненты MQ:
- Сообщение: Сообщения представляют собой коллекции двоичный или персонаж (например ASCII или EBCDIC ) данные, которые имеют какое-то значение для участвующей программы. Как и в других протоколы связи информация о хранении, маршрутизации и доставке добавляется к сообщению перед передачей и удаляется из сообщения перед доставкой в принимающее приложение.
- Очередь: Очереди сообщений объекты, которые хранят сообщения в приложении.
- Менеджер очереди: системная служба, которая предоставляет логический контейнер для очереди сообщений. Он отвечает за передачу данных другим администраторам очередей по каналам сообщений. Хотя это не является строго обязательным условием для промежуточного программного обеспечения, ориентированного на сообщения, оно является предварительным условием IBM MQ. Диспетчеры очередей обрабатывают хранение, проблемы синхронизации, запуск и все другие функции, не связанные напрямую с фактическим перемещением данных.
Программы, интегрированные с IBM MQ, используют единый интерфейс прикладных программ (API) на всех платформах.
Типы сообщений
MQ поддерживает двухточечный и Публикация-подписка обмен сообщениями.
API
API, напрямую поддерживаемые IBM, включают:
- Интерфейс очереди сообщений IBM (MQI) для C, КОБОЛ, PL / I, Ява, Rexx,[1] РПГ, и C ++
- Служба сообщений Java (JMS)
- XMS для C / C ++ и .NET[2]
- .СЕТЬ
- Изобразительное State Transfer
- МЫЛО
Дополнительные API (официально не поддерживаемые) также доступны через третьих лиц, в том числе:
- Perl интерфейс (разработан и предоставлен Hildo Biersma), доступный по адресу CPAN.[3]
- Python (язык программирования) интерфейс PyMQI (первоначально разработанный Les Smithson), доступный по адресу PyPI[4]
- Windows PowerShell[5]
Функции
одноразовая доставка: MQ использует однократную доставку. Такое качество обслуживания обычно предотвращает потерю или дублирование сообщений.
Асинхронный обмен сообщениями: MQ предоставляет дизайнеры приложений с механизмом достижения независимой от времени архитектуры. Сообщения можно отправлять из одного приложения в другое, независимо от того, запущены ли приложения одновременно. Если приложение-получатель сообщений не запущено, когда отправитель отправляет ему сообщение, диспетчер очередей будет удерживать сообщение, пока получатель не запросит его. Порядок всех сообщений сохраняется, по умолчанию это в ФИФО порядок поступления в локальную очередь в пределах приоритета сообщения.
Преобразование данных: например Big Endian к Little Endian, или EBCDIC к ASCII. Это достигается за счет использования данных сообщения. выходы. Выходы - это скомпилированные приложения, которые выполняются на хосте администратора очередей и выполняются программным обеспечением IBM MQ в момент, когда требуется преобразование данных.
Структура архитектуры, управляемой сообщениями: IBM MQ позволяет получать сообщения для запуска других приложений.
Диапазон API: Он реализует Служба сообщений Java (JMS) стандартный API, а также имеет собственный проприетарный API, известный как интерфейс очереди сообщений (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.2 LTS | 23 июля 2020 г.[6] |
IBM MQ 9.1 LTS | 27 июля 2018 г.[7] |
IBM MQ в IBM Cloud | 13 марта 2018 г. [8] |
IBM MQ для HPE Nonstop 8.0 | 23 июня 2017 г. |
IBM MQ 9.0 LTS | 2 июня 2016 г. [9] |
IBM MQ 8.0 | 23 мая 2014 г. |
WebSphere MQ 7.5 | 15 июня 2012 г. |
WebSphere MQ 7.1 | Ноябрь 2011 г. |
WebSphere MQ 7.0 z / OS | Июнь 2008 г. |
WebSphere MQ 7.0 (распределенный, iSeries) | Май 2008 г. |
WebSphere MQ 6.0 z / OS | Июнь 2005 г. |
WebSphere MQ 6.0 (распределенный, iSeries) | Май 2005 г. |
WebSphere MQ 5.3 z / OS | Июнь 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.2 | 29 августа 1997 г. [10] |
MQSeries для MVS 1.1.4, | Июнь 1996 г. |
MQSeries 2.2 (Sun OS / Solaris, DC / OSx) | Июнь, июль 1996 г. |
MQSeries 2.0 Windows NT | 2 квартал 1996 г. |
MQSeries 2.2 (HP, SCO) | 4 квартал 1995 г. |
MQSeries для MVS 1.1.3 | Май 1995 г. |
MQSeries 2.0 (OS / 2, AIX) | Февраль 1995 г. (начало конца ezBridge) |
MQM / 400 V3 | 4 квартал 1994 г. |
ezBridge Transact для MQSeries 3.0 | Июль 1994 |
MQSeries для MVS 1.1.2 | Июнь 1994 |
MQM / 400 V2.3 | Февраль / апрель 1994 |
ezBridge Transact для MQSeries | Март, сентябрь, ноябрь DSA |
MQSeries для MVS V1.1.1 | 31 декабря 1993 г. |
Версия Конец обслуживания
Пожалуйста, посмотрите Жизненный цикл поддержки программного обеспечения IBM актуальную информацию о датах окончания поддержки. Следующая таблица относится к программному обеспечению MQ. У MQ Appliance даты жизненного цикла как микропрограмм, так и оборудования отличаются от тех, что указаны в таблице.
Название версии | Общедоступность | Конец маркетинга | Окончание поддержки |
---|---|---|---|
IBM MQ 9.1 | 23-июл-2018 | - | - |
IBM MQ 9.0 | 02-июн-2016 | 17-сен-2021 | 30-сен-2021 |
IBM MQ 8.0 | 13-июн-2014 | 17-апр-2020 | 30-апр-2020 |
WebSphere MQ 7.5 | 06-июл-2012 | 16 декабря 2016 г. | 30-апр-2018 |
WebSphere MQ 7.1 | 25 ноября 2011 г. | 12-июл-2016 | 30 апреля 2017 г. |
Справочная информация об архитектуре
С появлением компьютеров IBM увидела возможность применить новую технологию к необходимости коммутации сообщений.
В начале 1960-х IBM продавала систему управления связью IBM 7740 и программируемую систему управления передачей IBM 7750, которые были системами программируемой коммутации сообщений.
IBM System / 360 была анонсирована в апреле 1964 года, и вместе с ней появились такие методы доступа к связи, как BTAM и QTAM (базовые методы и методы доступа к телекоммуникациям с очередями). В 1971 году TCAM, Метод доступа к телекоммуникациям, предложила своим пользователям более продвинутую форму коммутации сообщений или маршрутизации сообщений. TCAM получил широкое распространение, особенно в финансовой и брокерской отраслях. Он поддерживал асинхронный обмен сообщениями, как и более поздний MQ. TCAM 3.0 добавлен в очереди сообщений многоразового диска для восстановления вскоре после этого, как и MQ. Программа PL / I высокого уровня может использоваться для доступа к ПЕРЕХОДНЫМ наборам данных (динамическим очередям сообщений). Чтение сообщения из временного набора данных привело к тому, что это сообщение было удалено из очереди, как и в случае 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 продолжала поддерживаться версией 2.3 CICS / OS-Standard. Однако поддержка TCAM отсутствовала в первоначальном выпуске CICS / VS, объявленном в феврале 1973 г. и поставленном в июне 1974 г. Само собой разумеется, что многие клиенты CICS-TCAM были недовольны этим направлением продукта.
Под значительным давлением со стороны клиентов CICS-TCAM поддержка CICS TCAM была восстановлена в продукте CICS / VS 1.1 с сентября 1974 года. В дополнение к предыдущей поддержке DCB, с этим восстановлением поддержки TCAM, CICS начал поддерживать доступ к TCAM через VTAM, также известную как поддержка ACB. Поддержка CICS TCAM ACB была прекращена в продукте CICS / ESA версии 3 в 1990 году.
В 1992 году IBM анонсировала новый продукт под названием MQSeries. Позднее это название бренда было переименовано в «WebSphere MQ» (иногда сокращенно до WMQ) в 2002 году для поддержки названия семейства WebSphere и продукта. В 2014 году он был переименован в IBM MQ. MQ должен был быть расширением функциональности TCAM от систем только от IBM на все другие платформы. MQ имеет архитектуру, которая позволяет гетерогенным системам взаимодействовать друг с другом (например, IBM, HP, Sun, Tandem и т. Д.). MQ можно использовать с системами CICS для отправки и получения данных в / из любой другой системы, поддерживающей MQ. MQ можно использовать для инициирования работы в системе CICS, или транзакция CICS может инициировать работу в другой системе CICS или не-CICS.
IBM MQ теперь поддерживает 80 различных сред и стал ведущим в отрасли продуктом для коммутации / маршрутизации с гарантированной доставкой сообщений.[11]
MQ и веб-сервисы
IBM MQ можно использовать в качестве основы для создания сервис-ориентированные архитектуры. Существует несколько дополнительных вариантов продукта, которые помогают преобразовать устаревшие программы в работоспособные. веб-сервисы за счет использования MQ. Более крупные разнородные предприятия часто выглядят как федерация в некоторой степени автономных доменов, основанных на направлениях бизнеса, функциональных областях или областях управления. В таких средах некоторые службы могут совместно использоваться или повторно использоваться только в пределах одного домена, в то время как другие могут совместно использоваться или повторно использоваться в рамках всего предприятия. IBM MQ предоставляет средства, с помощью которых существует связь между направлениями бизнеса или иными отдельными бизнес-доменами.
Родственный продукт в семействе продуктов IBM MQ, называемый IBM Integration Bus (ранее WebSphere Message Broker), обеспечивает разнообразный и надежный набор расширений для архитектур на основе очередей. Используя IBM Integration Bus, пользователи могут реализовать интерфейс WebServices в комплекте с WSDL поддержка файлов, которая может взаимодействовать с любым приложением на основе очередей.
Смотрите также
- Расширенный протокол очереди сообщений
- IBM WebSphere Message Broker
- Служба сообщений Java
- Очередь сообщений
- Очередь сообщений как услуга
Рекомендации
- ^ «MA95: интерфейс REXX для WebSphere MQ». Получено 2014-10-09.
- ^ «Знакомство с XMS - API службы сообщений IBM». Получено 2007-12-06.
- ^ MQSeries - расширение Perl для поддержки MQSeries - search.cpan.org
- ^ «Документация PyMQI». Архивировано из оригинал на 2013-01-17. Получено 2010-09-03.
- ^ «MO74: WebSphere MQ - библиотека Windows Powershell». Получено 2007-12-06.
- ^ "Объявление IBM о выпуске IBM MQ 9.2". Международные бизнес-машины (IBM). Получено 22 октября 2020.
- ^ "Объявление IBM о выпуске IBM MQ 9.1". Международные бизнес-машины (IBM). Получено 6 августа 2018.
- ^ "Объявление IBM о IBM MQ в IBM Cloud". Международные бизнес-машины (IBM). Получено 6 августа 2018.
- ^ "Объявление IBM о выпуске IBM MQ 9.0". Международные бизнес-машины (IBM). Получено 17 июн 2016.
- ^ «MQSeries для MVS / ESA версии 1.2». Международные бизнес-машины (IBM). Получено 10 декабря 2018.
- ^ http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&supplier=897&letternum=ENUS211-395 IBM MQ - это лидирующий на рынке продукт промежуточного слоя, ориентированный на сообщения, который обеспечивает надежную, проверенную универсальную магистраль обмена сообщениями для почти 10 000 организаций различного размера, охватывающих многие отрасли по всему миру.