Kafka 到 Kafka -> 多次读取源卡夫卡主题
Kafka to Kafka -> reading source kafka topic multiple times
我是 Kafka 的新手,我有一个配置,其中有一个源 Kafka 主题,其中包含默认保留 7 天的消息。我有 3 个具有 1 个分区和 1 个复制的代理。
当我尝试使用来自源 Kafka 主题和我的目标 Kafka 主题的消息时,我能够以相同的顺序使用消息。现在我的问题是,如果我正在尝试重新处理来自我的源 Kafka 的所有消息并在 ,y Target Kafka 中使用,我看到我的 Target Kafka 没有使用任何消息。我知道应该避免重复,但可以说我有一个场景,我的源 Kafka 中有 100 条消息,我期望在 运行 两次后我的目标 Kafka 中有 200 条消息。但是我在第一个 运行 和第二个 运行 returns 中只收到 100 条消息。
有人可以解释为什么会这样吗?它背后的功能是什么?
Kafka 消费者从主题的分区中读取数据。一个消费者一次只能从一个分区读取。
消息一旦被消费者阅读,就无法再次阅读。让我先解释一下当前的偏移量。当我们调用 poll 方法时,Kafka 会向我们发送一些消息。假设分区中有 100 条记录。当前偏移量的初始位置为0。我们进行了第一次调用并收到了100条消息。现在 Kafka 会将当前偏移量移动到 100。
当前偏移量是指向Kafka 在最近一次轮询中已经发送给消费者并且已经提交的最后一条记录的指针。因此,由于当前的偏移量,消费者不会两次获得相同的记录。请仔细阅读下图和 URL 以获得完整的理解。
https://www.learningjournal.guru/courses/kafka/kafka-foundation-training/offset-management/
我是 Kafka 的新手,我有一个配置,其中有一个源 Kafka 主题,其中包含默认保留 7 天的消息。我有 3 个具有 1 个分区和 1 个复制的代理。
当我尝试使用来自源 Kafka 主题和我的目标 Kafka 主题的消息时,我能够以相同的顺序使用消息。现在我的问题是,如果我正在尝试重新处理来自我的源 Kafka 的所有消息并在 ,y Target Kafka 中使用,我看到我的 Target Kafka 没有使用任何消息。我知道应该避免重复,但可以说我有一个场景,我的源 Kafka 中有 100 条消息,我期望在 运行 两次后我的目标 Kafka 中有 200 条消息。但是我在第一个 运行 和第二个 运行 returns 中只收到 100 条消息。
有人可以解释为什么会这样吗?它背后的功能是什么?
Kafka 消费者从主题的分区中读取数据。一个消费者一次只能从一个分区读取。
消息一旦被消费者阅读,就无法再次阅读。让我先解释一下当前的偏移量。当我们调用 poll 方法时,Kafka 会向我们发送一些消息。假设分区中有 100 条记录。当前偏移量的初始位置为0。我们进行了第一次调用并收到了100条消息。现在 Kafka 会将当前偏移量移动到 100。
当前偏移量是指向Kafka 在最近一次轮询中已经发送给消费者并且已经提交的最后一条记录的指针。因此,由于当前的偏移量,消费者不会两次获得相同的记录。请仔细阅读下图和 URL 以获得完整的理解。 https://www.learningjournal.guru/courses/kafka/kafka-foundation-training/offset-management/