繁体   English   中英

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

[英]Will spring-cloud-stream Kafka consumer not consume messages that were sent when the service was down?

我有一个春季云流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

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

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

这是预期的吗? 我目前处于Kafka学习阶段,对您的解释将不胜感激。

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

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

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

您明确地告诉活页夹这样做

spring.cloud.stream.kafka.bindings.input.consumer.resetOffsets=true 
spring.cloud.stream.kafka.bindings.input.consumer.startOffset=latest

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM