【发布时间】:2020-10-31 02:26:23
【问题描述】:
在其中一种情况下,当消费者服务重新启动时,会导致重新处理所有发送到 Kafka 的记录。
Kafka Broker: 0.10.0.1
Kafka producer Service: Springboot version 1.4.3.Release
Kafka Consumer Springboot Service: Springboot version 2.2.0.Release
现在为了调查这个问题,我想在没有发生的开发/本地环境中重新创建这个场景!!!
可能的原因是什么?
如何检查,当我们发送Acknowledgement.acknowledge();时,从消费者端处理过的记录是否已提交
消费者 - 属性
Enable Auto commit = false;
Auto offset Reset = earliest;
max poll records = 1;
max poll interval ms config = I am calculating the value of this parameter at runtime from the formula ==>> (number_of_retries * x * 2) <= INTEGER.MaxValue
重试策略 - 简单
number of retries = 3;
interval between retries = x (millis)
我在运行时通过 bean NewTopic(topic_name, 1, (**short**)1) 在消费者端创建主题
有 2 个 Kafka 集群和 1 个 Zookeeper 实例正在运行。
任何帮助将不胜感激
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka kafka-producer-api