在我的例子中,消费者离线时间较长是有可能的。在离线期间,事件仍将发布到主题。
当消费者重新上线时,它将重新使用已经滞后的现有消费者组。是否可以只跳转到最新的消息?也就是说,忽略所有早期的消息。换句话说,我想在消费。
之前将偏移量更改为最新消息。有spring.kafka.consumer.auto-offset
属性,但据我所知,这只适用于新的消费群体。在这里,当消费者重新联机时,我重用了一个现有的消费者组。也就是说,如果有可能在消费者离线时自动修剪消费者组,则此属性可以工作,但我不确定是否存在这样的功能?
我正在与Spring Boot Kafka集成。
可以在计算完最后一个偏移量后使用consumer seek方法,然后从中减去1,提交,并开始轮询。
否则,不要使用同一组。生成一个唯一的和/或禁用自动提交,然后你保证总是使用auto.offset.reset配置和延迟是没有意义的应用程序重启