首页 > 解决方案 > 从外部系统发送到 Kafka,在事务中没有重复

问题描述

我需要将数据从外部系统发送到具有恰好一次语义的 Kafka 主题。源有一个偏移量,我们可以从给定的偏移量消费消息。

查看 Kafka 文档,我发现有两种方法可以做到这一点。

  1. 卡夫卡源连接器
  2. 使用带有事务的普通 Kafka 生产者。

看起来选项 1 现在不完全支持一次语义,Kafka jira 6080未解决。另外我想了解我们如何直接使用生产者 api 来做到这一点。对于选项 2,所有文档中的(消费、转换、生产)循环显示使用 AddOffsetsToTxn 提交消费者的偏移量。如果源不是 Kafka 主题,推荐的策略是什么?看起来像在不同的主题中写入源偏移量作为事务的一部分并在恢复期间使用它会起作用。这是推荐的方式吗?

标签: apache-kafka

解决方案


推荐阅读