【发布时间】:2020-05-09 08:38:10
【问题描述】:
使用 Spring Boot Kafka - v 2.2.1.RELEASE(使用 kafka-clients.jar v 2.3.1)
我正在为我的 Kafka Broker 使用 Confluent v 5.1.2。
我已启用自动提交为 true 和每 3 秒自动提交间隔。
我有一个基于 spring 的侦听器类 (@KafkaListener),每个消息处理大约需要 6-7 秒,因为它是一个资源密集型操作。
我在这里注意到的是偏移量永远不会由侦听器提交,并且延迟永久保持为“550”。
正因为如此(我认为),消息被监听者无限期地处理。
当我将监听器更改为手动提交偏移量时,它工作正常。
在涉及长时间运行的事务的情况下,为什么自动提交不起作用?
是否缺少任何设置或设置的数字太小/太大?我想知道对于这种长时间运行的事务的推荐策略是什么。
谢谢!
【问题讨论】:
标签: apache-kafka kafka-consumer-api spring-kafka