Consumer MQ Topic中如何消费Kafka Topic

How to consume Kafka Topic in Consumer MQ Topic

我有一个需求,需要消费Kafka Topic并将其写入MQ Topic。有人可以告诉我最好的方法吗,我是卡夫卡的新手。

我在 confluent 中阅读了 IBM MQ Connector,但不知道如何实现它。

将数据从 Kafka 移动到 MQ 的最佳方法是使用 IBM MQ 接收器连接器:https://github.com/ibm-messaging/kafka-connect-mq-sink

这是一个 Kafka Connect 连接器。自述文件包含 building and running 它的详细信息。

Kafka 有一个名为 Kafka Connect 的组件。它用于将数据 to/from Kafka 读取和写入其他系统,例如您的 MQ 数据库。

Kafka connect 可以有两种连接器

源连接器——从外部系统读取数据并写入 Kafka(例如,从数据库中的 table 中读取 inserted/modified 行并插入到 Kafka 中的主题中)

接收器连接器 - 从 Kafka 读取消息写入外部系统。

您添加的link是源连接器,它会从MQ读取消息并写入Kafka。

对于简单的用例,您不需要 Kafka 连接。您可以编写一个简单的 Kafka consumer 将从 Kafka 主题读取数据并将其写入 MQ。

    Properties props = new Properties();
     props.put("bootstrap.servers", "localhost:9092");
     props.put("group.id", "test");
     props.put("enable.auto.commit", "true");
     props.put("auto.commit.interval.ms", "1000");
     props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
     props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
     KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
     consumer.subscribe(Arrays.asList("foo", "bar"));
     while (true) {
         ConsumerRecords<String, String> records = consumer.poll(100);
         for (ConsumerRecord<String, String> record : records)
//Insert code to append to MQ here
             System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
     }