gpt4 book ai didi

Java:当我开始从kafka主题读取时如何从当前偏移量读取

转载 作者:行者123 更新时间:2023-12-01 18:03:36 25 4
gpt4 key购买 nike

我正在使用 Java api 消费者连接器。每当消费者开始阅读某个主题时,它都会从主题的开头开始阅读,并且需要相当长的时间才能 catch 最新的事件。我们如何确保消费者从当前偏移量读取?

最佳答案

最简单的方法是禁用自动提交(即 auto.commit.enable=false),并使用 auto.offset.reset=latest (或=largest(对于较旧的 Kafka 版本)在您的消费者配置中。

Kafka中的流程如下:

  1. 启动消费者
  2. 消费者寻找有效的 promise 报价
    • 如果找到,它将从那里恢复处理
    • 如果没有找到,则根据“auto.offset.reset”开始处理

因此,只要您的消费者组有有效的提交偏移量,“auto.offset.reset”就根本没有效果。因此,您也不应该手动提交。

如果已经有提交的偏移量,如果您想从当前偏移量读取而不处理旧数据,则需要在重新启动消费者之前手动将其删除。 (或者使用一个新的group.id,您知道它没有提交的偏移量。)

作为所有这一切的替代方案,您还可以“寻求结束”消费者中的每个分区。但这会使您的代码更加复杂,如果您的消费者组根本没有提交,则可以避免这种情况。

关于Java:当我开始从kafka主题读取时如何从当前偏移量读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38659244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com