#apache-kafka #reactor-kafka
Вопрос:
Приложение является долгосрочным получателем сообщений, приложение получает восходящее сообщение и преобразует сообщения в небольшие сообщения, а затем помещает эти небольшие сообщения в Кафку.
Я нашел документ из реактора, сказал Кафка:
Когда KafkaSender больше не требуется, экземпляр KafkaSender можно закрыть. Базовый KafkaProducer закрывается, закрывая все клиентские соединения и освобождая всю память, используемую производителем.
Мой вопрос таков:
Должен ли я закрывать KafkaSender после каждой отправленной партии сообщений ? Это делает sences, которые используют одноэлементный экземпляр KafkaSender в приложении и просто закрывают его при завершении работы приложения?
Спасибо.
Комментарии:
1. Насколько часты ваши партии? Если дольше, чем ежечасно, вероятно, безопасно закрыть его
Ответ №1:
Я думаю, что ответ есть. https://projectreactor.io/docs/kafka/release/api/reactor/kafka/sender/KafkaSender.html
Реактивный производитель, который отправляет исходящие записи в тематические разделы кластера Кафки. Производитель является потокобезопасным и может использоваться для публикации записей в нескольких разделах. Рекомендуется, чтобы для каждого типа записей в клиентском приложении был предоставлен общий доступ к одному KafkaSender.