将 COBOL 记录发送到 Kafka 主题

Sending COBOL record to Kafka Topic

我有一个 COBOL 批处理程序,需要将消息放入 Kafka 主题中。我知道有一些函数可以让我将文件或 DB2 table 从大型机转储到 Kafka 主题中。我可以通过两步作业来完成此操作:1.) 批处理作业运行并写入 file/table。 2.) 从大型机加载 file/table 到 Kafka 主题。

但是,是否有任何新技术或现有技术或功能可以将 COBOL 批处理消息放入 Kafka 主题 at/during 运行时?

Kevin,您现在可以通过 z/OS 容器扩展 (zCX) z/OS 直接在 z/OS 上 运行 Apache Kafka。 zCX 是基本 z/OS 2.4 操作系统中包含的一项标准的、完全受支持的功能,无需额外付费,它 运行 可在任何配备功能代码 0104 的 IBM z14(或更高版本)机器上使用。(许多系统已经有 FC 0104,因为它需要 运行 除了 zCX 之外的一些其他东西。)你仍然会以某种方式通过 TCP/IP 连接到 Docker/OCI 容器 运行ning Kafka,但这都是 virtual/memory-to-memory,因为 Kafka 可以 运行 在与您的 COBOL 批处理程序相同的 z/OS 实例中。

如果您还没有 zCX,您仍然可以做好准备。只需在 Z 上的 Linux(或 LinuxONE 机器上)创建并 运行 你想要的 Docker/OCI 容器,例如 Kafka,然后你就可以移动这些容器,未修改,准备就绪后发送到 zCX。如果您没有 Linux on Z(或 LinuxONE)环境可以使用,您可以从 IBM Linux 获得一个最多 120 天的免费环境一个社区云。

是的,您可以将 MQ 用于 z/OS,这是一个了不起的选择。您需要在 Kafka 容器中安装 MQ 客户端,但假设您拥有 z/OS 当前 IBM 支持的任何 MQ 版本,则 MQ 客户端无需额外付费。 MQ 的一大优势是 Q(队列),通常非常适合批处理程序,因此它们可以异步地处理和馈送 Kafka。 z/OS 如果您需要同步交互,Connect Enterprise Edition 是另一个不错的选择。

在基础 z/OS 2.1(或更高版本)操作系统中免费提供的另一种可能选择是 z/OS 客户端 Web 启用工具包。此工具包允许 运行ning on z/OS 上的 COBOL(和其他)程序进行出站 REST API 调用。它不像 z/OS Connect Enterprise Edition 那样功能丰富,而且它只是单向的(支持从 z/OS 托管程序到由服务 运行ning 提供的 REST API 的请求任何地方,它可以在 z/OS 本身上,就像 zCX 中的 Kafka REST API 一样),但它仍然可以满足或超过您的需求。您可以在此处找到有关此工具包的更多信息,包括 COBOL 示例:

https://github.com/IBM/zOS-Client-Web-Enablement-Toolkit