我有一个Spring引导应用程序,并使用Spring Kafka。我们创建了一个使用者,该使用者正在使用4个主题的消息。这些主题没有任何分区。我在这里面临的一个主要问题是在三个主题中出现了一个随机行为,在任何一个主题中偏移都停止了,我的消费者不断从该主题中重复使用相同的消息,直到我们需要手动将偏移移到最新的位置为止。下面是配置我有YAML配置:
spring:
kafka:
consumer:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS}
group-id: group_id
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
kafka:
consumer:
allTopicList: user.topic,student.topic,class.topic,teachers.topic**
因为它是Spring引导应用程序,所以默认偏移量设置为最新。 我在这里做错了,请帮助我理解。
答案 0 :(得分:0)
您使用的是什么版本?
您应该设置
...consumer:
enable-auto-commit: false
侦听器容器将更可靠地提交偏移量。
您还应该考虑
ack-mode: RECORD
,容器将为每个成功处理的记录提交偏移量(默认为BATCH)。