Spring-cloud-stream流Kafka使用者不会使用服务关闭时发送的消息吗?

时间:2019-03-06 17:54:53

标签: java spring-boot apache-kafka 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 =最新

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

方案:消费者服务已关闭,在此期间,一些消息发送到它的主题。当消费者服务恢复时,这些消息不会被使用。只有在重新联机后发送的邮件才会被使用。

这符合预期吗?我正处于Kafka学习阶段,不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

在您的方案中,您从分配的分区读取后没有提交偏移量,因此,当您的消费者服务返回时,它仅读取最新消息。

答案 1 :(得分:1)

您明确告诉活页夹这样做

dogs/

只需删除这些属性即可;与组绑定通常会提供您想要的行为。