我正在研究卡夫卡消费者,我注意到它正在消耗本应该在2天前消费的消息。它大约每5分钟重复这些消息,并且生产者不再在2天内生成这些消息。
我有应该消耗的新数据,生产者的日志显示正在生成新数据并将其发送到Kafka。但是没有被消费在另一边,它只是一遍又一遍地重复相同的数据。
Kafka应用程序构建在Spring引导之上。
编辑:生产者每10分钟运行一次,并查询要发送的任何新数据。
更新:我已将max.poll.interval.ms从5分钟增加到1小时。目前我更新它已经不到一个小时了,但我没有看到它重复数据。但是如果超时发生,我有办法得到通知。
更新:我应该指出,有两个kafka消费者,我看到一些被撤销的分区。
我有几个建议:
可能有两个原因: - >您的配置似乎是enable.auto.commit:false和auto.commit.interval.ms:某个值第二个配置导致消息在某个特定时间间隔(某个值)后出现。消费者端出现相同的消息进行处理,因为第一次未成功处理消息。如果没有与zookeeper或代理可用的最后偏移信息,并且auto.offset.reset设置为最小(或最早),则处理将从最小偏移开始。如果您不想重新处理相同的消息,则将auto.offset.reset更改为最大(或最新)(在这种情况下可能会丢失消息)。
- >正如@mjuarez所建议的那样,消费者的群组ID可能每次都在变化。