如何使用kafka接收器将数据发送到kafka主题?

时间:2020-05-31 08:09:22

标签: apache-kafka apache-kafka-connect

当前,我有一个接收器连接器,该接收器从主题A获取数据并将其发送到外部服务。

现在我有一个用例,基于某种逻辑我应该将其发送给主题B而不是服务。 并且此逻辑基于目标服务的响应,它将基于数据返回响应。 因此,因为每次我无法使用流api时都应将数据发送到目标系统。

这可行吗?

还是应该手动将kafka生产者添加到接收器?如果是这样,有什么缺点吗?

1 个答案:

答案 0 :(得分:0)

第一种选择是创建一个custom Kafka Connect Single Message Transform,它将实现所需的逻辑并可能也使用ExtractTopic(取决于您的自定义smt的外观)。


第二个选择是建立自己的消费者。例如:

步骤1:在主题A的上方再创建一个主题

再创建一个主题,例如topic_a_to_target_system

第2步:实施自定义消费者

实现一个Kafka使用者,该使用者使用主题topic_a中的所有消息。 此时,您需要实例化一个Kafka Producer,并根据逻辑决定是否需要将该主题转发到topic_B或目标系统(topic_a_to_target_system)。

步骤3:在topic_a_to_target_system上启动接收器连接器

最后启动您的接收器连接器,以便将数据从主题topic_a_to_target_system接收到目标系统。