【问题标题】:Committing offsets for multiple batches at once一次提交多个批次的偏移量
【发布时间】:2022-01-31 23:18:50
【问题描述】:

我有一个 kafkalistener,它可以一次收听一批消息,如下所示

@KafkaListener(topics = "topicName", container = "conatainer_name")
public void listenEvents(@payload List<ConsumerRecord<String,String>> records, Acknowledgement ack) {
    process(records);
    ack.acknowledge();//committing offsets
}

我的问题,有没有办法监听多批消息并只提交一次。例如,如果我在 kafka 主题中有 1000 条消息,我想以 10 批的形式一次监听 100 条消息并提交偏移量处理10批消息后。

【问题讨论】:

    标签: java spring spring-boot apache-kafka spring-kafka


    【解决方案1】:

    目前没有聚合多个Acknowledgments 的机制。

    您可以保存 Acknowledgment 实例,并在准备好时单独确认它们(确保以正确的顺序执行它们)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      相关资源
      最近更新 更多