为什么消费者的所有抵消都消失了?

时间:2021-07-29 21:54:54

标签: apache-kafka

我有一项针对 kafka 消费者的服务。之前我每次都是在收到记录后创建和关闭消费者。我进行了更改并开始使用恢复/暂停而不关闭消费者(使用 ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG = false 和 consumer.commitSync(offsetAndMetadataMap);)。整个星期服务都很棒。 7 天后,它重新启动。重启后,所有offsets消失,消费者开始接收所有旧记录()。这怎么会发生?偏移量去了哪里?

1 个答案:

答案 0 :(得分:0)

我猜你那个消费者组的消费者在重启前的 7 天没有起来?

包含有关您的组的偏移量数据的内部偏移量主题被定义为压缩和删除主题策略,

这意味着它压缩记录以保存键的最后一个值

并从主题中删除旧记录,

默认为 7 天,偏移主题保留,

KAFKA-3806:将偏移保留默认值增加到 7 天 (KIP-186) #4648

它可以像任何其他主题配置一样进行配置

<块引用>

偏移过期语义在此版本中略有变化。根据新的语义,当组订阅了相应的主题并且仍然处于活动状态(有活跃的消费者)时,不会删除组中分区的偏移量。如果组变空,则在默认偏移保留期(或代理设置的保留期)过去后,其所有偏移将被删除(除非该组再次变为活动状态)。与不使用 Kafka 组管理的独立(简单)消费者关联的偏移量将在自上次提交后的默认偏移量保留期(或代理设置的保留期)过去后删除。

相关问题