@Rammstein007

Как в kafka передать пакет сообщений?

Сейчас передается по одному сообщению как передать пачку сообщений? Ниже код который передает по одному сообщению.
public void sendMessages(List<EntryTestJson> msgList)
    {
        String topic = "test";
        try (Producer<String, String> producer = createProducer())
        {
            for (EntryTestJson message : msgList)
            {
                ProducerRecord<String, String> record = new ProducerRecord<>(topic, message.toString());
                producer.send(record, new RecordCallback());
                producer.flush();
                log.info("Отправлено сообщение: " + record.value());
            }
        } catch (Exception e)
        {
            log.error("Ошибка при отправке сообщения", e);
        }
    }
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 2
@freeg0r
.. some dude ..
нет такого подхода для бизнес логики, Kafka client за кулисами сам формирует пакеты сообщений для отправки, граничный размер и время формирования которых вы можете менять настройками конфигурации (batch.size, linger.ms) и которые будут отправлены в один и тот же partition. Учитывая, что выбор partition может основываться на ключе сообщения, составление пакетов в ручную (в бизнес коде) может создать дополнительные проблемы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Emphasoft Санкт-Петербург
от 200 000 до 400 000 ₽
The AnyLogic Company Санкт-Петербург
от 180 000 ₽
от 150 000 до 400 000 ₽
07 мар. 2021, в 23:34
5000 руб./за проект
07 мар. 2021, в 23:14
10000 руб./за проект