首页 > 解决方案 > 在 Kafka 中,如何在两个偏移量之间重放 kafka 消费者?

问题描述

给定两个偏移量 - 开始和结束偏移量,或开始/结束日期时间时间戳(同样好),我希望 Kafka 消费者重播该窗口内的所有消息。

我已经想出了如何使用 kakfa-consumer-groups.sh 工具重置偏移量以根据日期时间或偏移量重置偏移量,但是我如何告诉消费者在重播 10,000 条消息或 10 分钟后停止?

标签: apache-kafkakafka-consumer-api

解决方案


没有配置或 API 可让您在处理一定数量的偏移量或时间后停止 KafkaConsumer。

您需要通过检查 ConsumerRecord 的偏移量或有一个计时器来以编程方式执行此操作,该计时器将在一定时间后停止 Consumer。

除了使用 kafka-consumer-groups 工具,您还可以使用seekKafkaConsumer 的 API 从分区的特定偏移量开始。


推荐阅读