Kafka 无法跟踪最后提交的偏移量

Kafka fails to keep track of last-commited offset

kakfa-broker 在管理偏移量方面是否存在任何已知问题? Bcz,我们面临的问题是当我们尝试重启 kafka-consumer(即应用程序重启)时,有时所有的偏移量都会重置为 0。 完全不知道为什么消费者不能从最后提交的偏移量开始。

我们最终在 prod 中面临这个问题,其中整个 q 事件被再次重播:

我们有 10 个主题,每个主题有 50 个分区,属于同一组,我们根据负载在 运行 时间增加主题分区和消费者数量。

完成所有这些配置后,它 运行 在本地设置中符合预期,在部署到 prod 之后,我们不会在每次重新启动时看到此类问题。 有没有我缺少的配置。 完全没脑子!!!!

您需要确保:

1) 您正在使用相同的消费者组 ID

2) auto.offset.reset 设置为 latest

spring.kafka.consumer.group-id=your-consumer-group-id
spring.kafka.consumer.auto-offset-reset=latest

如果您仍然遇到此问题,请尝试启用自动提交

spring.kafka.consumer.enable-auto-commit=true

如果问题消失,则意味着您的手动提交未按预期工作。

不要按照另一个答案中的建议启用自动提交;侦听器容器将更可靠地提交偏移量,并且正如您所说,您不会一直遇到问题。

难不成一周都没有收到记录?

或者,您的经纪人有没有可能 offsets.retention.minutes 属性 更短?

在 2.0 中,它从默认的 1 天更改为 1 周。如果偏移量因为它们过期而被删除并且您重新启动消费者,您将得到您观察到的行为。