Как публиковать сообщения непосредственно из существующего приложения Mainframe в темы Kafka?

Мы планируем заменить IBM MQ на Apache Kafka для реализации вариантов использования pub-sub в будущем. В настоящее время приложения для мейнфреймов (под управлением Z/OS) написаны с использованием языка программирования COBOL и отправки сообщений в MQ. Я просмотрел документацию, чтобы узнать о клиентах, поддерживаемых Kafka, и, похоже, он не поддерживает COBOL.

Каков наилучший подход к созданию производителя на мейнфрейме и публикации сообщений непосредственно в темах Kafka с минимальными изменениями в существующих приложениях?


person Sunny Goel    schedule 06.08.2017    source источник


Ответы (3)


Множество вариантов. Вы можете публиковать в Kafka с помощью любого клиента REST/HTTP на любом языке. Вы можете оставить WebSphere MQ в zOS и запустить внешний коннектор источника Kafka, чтобы извлечь данные из MQ и поместить их в Kafka. Вы можете писать в DB2 или другую базу данных и использовать ряд инструментов CDC (включая IBM InfoSphere) для отправки обновлений базы данных в Kafka. Вы можете использовать клиент Confluent JMS для публикации с помощью Java. Вы можете помочь завершить работу, чтобы заставить C-клиент librdkafka работать на zOS. Вы можете использовать Datapower в качестве шлюза ESB между вашим приложением для мейнфрейма и Kafka через Confluent REST Proxy. Все зависит от вашего варианта использования, какой вариант лучше.

Некоторые ссылки по интересам:

Confluent Kafka JMS Client http://docs.confluent.io/current/clients/kafka-jms-client/docs/index.html

DataMountaineer Kafka Connectors для JMS Источник: http://docs.datamountaineer.com/en/latest/jms-source.html

Приемник: http://docs.datamountaineer.com/en/latest/jms.html< /а>

person Hans Jespersen    schedule 06.08.2017
comment
Спасибо, Ганс, что поделился ссылками. Есть ли какой-нибудь исходный коннектор Kafka для IBM MQ? - person Sunny Goel; 08.08.2017
comment
Кстати, разве клиент JMS не используется только для существующих брокеров JMS? Можем ли мы использовать то же самое для IBM MQ, работающего на zOS? Спросите здесь, чтобы заменить MQ и начать публиковать сообщения прямо из приложения Mainframe в темы Kafka. Возможно ли это без дополнительного прыжка? - person Sunny Goel; 08.08.2017
comment
Кто-нибудь даже запустил порт librdkafka для z/OS? Из быстрого просмотра репозитория github это не так. Похоже, это было бы не так уж сложно, если бы на это был рынок. - person David Crayford; 11.08.2017
comment
@HansJespersen, можем ли мы сказать, что для IBM MQ нет исходного соединителя Kafka? нам нужно будет использовать некоторые клиентские библиотеки, такие как клиент librdkafka C или Java, которые могут работать в ZOS. В противном случае использовать IIB для извлечения сообщений из MQ и публикации в темах Kafka? - person Sunny Goel; 11.08.2017
comment
Существуют коннекторы источника для MQ, но экземпляры коннектора будут работать вне мейнфрейма и подключаться как клиент MQ к MQ Manager, работающему в z/OS. - person Hans Jespersen; 11.08.2017
comment
Свяжитесь с Confluent напрямую, если хотите узнать больше обо всех вариантах интеграции, поскольку StackOverflow — не лучшее место для обсуждения всех деталей или цен. - person Hans Jespersen; 11.08.2017

Я предполагаю, что вы хотите опубликовать изменения z/OS DB2 в Kafka. Решение, которое для нас требует наименьшего MIPS, — это IBM InfoSphere CDC для z/OS вместе с другим продуктом IBM под номером D1RC9LL. Если ваш бюджет допускает высокие капитальные затраты и низкие эксплуатационные затраты, то этот вариант для вас.

person Vincent Ching Loong Tan    schedule 14.10.2018

теперь CICS поддерживает отправку сообщений в Kafka, взгляните на эту ссылку

https://developer.ibm.com/cics/2020/01/06/cics-and-kafka-integration/

person Gokcer Belgusen    schedule 03.03.2020