我们有 springboot 应用程序,它从单个主题消费并生成多个主题的记录。
最近将此应用程序升级到Sprinboot-2.6.7,并在gradle项目中相应地升级了其他依赖项。
应用程序能够正确地消费和生产,但问题是它似乎重复创建kafka管理客户端(1000秒)并且似乎正在泄漏内存(可能是由于这个原因?),最终导致实例崩溃并且无法跟上滞后。
外部库中一些kafka相关的依赖jar
org.apache.kafka:kafka-clients:3.0.1
org.springframework.cloud:spring-cloud-stream:3.2.3
org.springframework.cloud:spring-cloud-stream-binder-kafka:3.2.3
org.springframework.cloud:spring-cloud-stream-binder-kafka-core:3.2.3
org.springframework.integration:spring-integration-kafka:5.5.11
org.springframework.kafka:spring-kafka:2.8.5
这有什么原因吗?缺少配置?
就我而言,是线程泄漏。写入 kafka 的线程开始增长“kafka-生产者-网络-线程”。因此,添加属性 spring.cloud.stream.source 或 spring.cloud.stream.output-bindings 会有所帮助。
我使用streamBridge发送。 springBoot 版本 2.7.14