在 Kafka 中,如何在两个偏移量之间重播 kafka 消费者?

In Kafka, how to replay kafka consumers between two offsets?

给定两个偏移量 - 开始和结束偏移量,或 start/end 日期时间戳(同样好),我希望 Kafka 消费者重播 window.

中的所有消息

我已经弄清楚如何使用 kakfa-consumer-groups.sh 工具重置偏移量以根据日期时间或偏移量重置偏移量,但我如何告诉消费者 stop 在说重播 10,000 条消息或 10 分钟之后?

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

您需要以编程方式执行此操作,方法是检查 ConsumerRecord 的偏移量或使用一个计时器在特定时间后停止 Consumer。

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