Kafka Consumer不断获取2天前每5分钟生成和消费的数据

问题描述 投票:1回答:2

我正在研究卡夫卡消费者,我注意到它正在消耗本应该在2天前消费的消息。它大约每5分钟重复这些消息,并且生产者不再在2天内生成这些消息。

我有应该消耗的新数据,生产者的日志显示正在生成新数据并将其发送到Kafka。但是没有被消费在另一边,它只是一遍又一遍地重复相同的数据。

Kafka应用程序构建在Spring引导之上。

编辑:生产者每10分钟运行一次,并查询要发送的任何新数据。

更新:我已将max.poll.interval.ms从5分钟增加到1小时。目前我更新它已经不到一个小时了,但我没有看到它重复数据。但是如果超时发生,我有办法得到通知。

更新:我应该指出,有两个kafka消费者,我看到一些被撤销的分区。

apache-kafka kafka-consumer-api kafka-producer-api spring-kafka
2个回答
0
投票

我有几个建议:

  • 您是否尝试使用Kafka附带的命令客户端客户端生成/使用?这将是第一步,确认消息实际上已经传入Kafka,并确认您可以使用它们。
  • 第二步是确认您总是使用相同的消费者组ID。也许您的应用程序每次都在更改使用者组ID?
  • 如果这两个建议不起作用,那么也许你可以发布你的生产者/消费者代码,这可能有助于找出问题所在。

0
投票

可能有两个原因: - >您的配置似乎是enable.auto.commit:false和auto.commit.interval.ms:某个值第二个配置导致消息在某个特定时间间隔(某个值)后出现。消费者端出现相同的消息进行处理,因为第一次未成功处理消息。如果没有与zookeeper或代理可用的最后偏移信息,并且auto.offset.reset设置为最小(或最早),则处理将从最小偏移开始。如果您不想重新处理相同的消息,则将auto.offset.reset更改为最大(或最新)(在这种情况下可能会丢失消息)。

- >正如@mjuarez所建议的那样,消费者的群组ID可能每次都在变化。

© www.soinside.com 2019 - 2024. All rights reserved.