发送一批消息后我应该关闭KafkaSender吗?

问题描述

应用程序是一个长期的消息接收器,应用程序接收上游消息并将消息转换为小消息,然后将这些小消息放入Kafka。

我发现来自 Reactor Kafka 的文档说:

Reactor Kafka Guide

当不再需要KafkaSender时,可以关闭KafkaSender实例。底层 KafkaProducer 关闭关闭所有客户端连接并释放生产者使用的所有内存。

我的问题是:

我是否需要在每批消息发送后关闭 KafkaSender?在应用程序中使用 KafkaSender 的单例实例并在应用程序关闭关闭它是否有意义?

谢谢。

解决方法

我认为有一个答案。 https://projectreactor.io/docs/kafka/release/api/reactor/kafka/sender/KafkaSender.html

将传出记录发送到 Kafka 集群的主题分区的反应式生产者。生产者是线程安全的,可用于将记录发布到多个分区。建议在客户端应用程序中为每个记录类型共享一个 KafkaSender。