spring-cloud-stream Kafka消费者不会消费服务关闭时发送的消息吗?

Ana*_*ony 3 java apache-kafka spring-boot spring-cloud-stream

我有一个 Spring Cloud Stream Kafka 消费者服务,其中确认是手动完成的。提供固定的消费群体。

spring.cloud.stream.bindings.input.group=sampleconsumergroup

resetoffsets 和 startOffset 属性设置如下 spring.cloud.stream.kafka.bindings.input.consumer.resetOffsets=true spring.cloud.stream.kafka.bindings.input.consumer.startOffset=latest

消费者服务监听主题模式。

场景:消费者服务关闭,在此期间有一些消息发送到其主题。当消费者服务恢复时,这些消息不会被消费。只有重新上线后发送的消息才会被消耗。

这符合预期吗?我正处于卡夫卡学习阶段,非常感谢您的解释。

Roh*_*dav 6

通常,当消费者加入消费者组时,它将从最后提交的偏移量中获取。

startOffSet 属性有最早和最晚两个选项。这些选项在消费者启动但分配的分区没有提交的偏移量时使用。

在您的场景中,您在从分配的分区读取数据后不会提交偏移量,因此当您的消费者服务返回时,它仅读取最新的消息。