@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);
        }
    }
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
@freeg0r
.. some dude ..
нет такого подхода для бизнес логики, Kafka client за кулисами сам формирует пакеты сообщений для отправки, граничный размер и время формирования которых вы можете менять настройками конфигурации (batch.size, linger.ms) и которые будут отправлены в один и тот же partition. Учитывая, что выбор partition может основываться на ключе сообщения, составление пакетов в ручную (в бизнес коде) может создать дополнительные проблемы.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 22:00
500 руб./в час
24 апр. 2024, в 21:49
10000 руб./за проект