Влияет ли kafka broker на размер сообщения 2 МБ

#apache-kafka

#apache-kafka

Вопрос:

У нас есть вариант использования, когда мы хотим редко передавать данные в kafka с максимальным размером 2 МБ (то есть размер сообщения будет меняться в зависимости от операций пользователя).

Повлияет ли создание размера в 2 Мб на что-либо, или нам нужно разбить сообщение на небольшой фрагмент, такой как 100 КБ, и создать.

Если мы создадим небольшой фрагмент, это увеличит время отклика пользователя. Кроме того, мы проверили, отправив сообщение размером 2 МБ в kafka, и мы не видим там большой задержки.

В любом случае, если мы разделим данные и создадим, это никак не повлияет на размер диска. Но снизится ли производительность брокера из-за этого?

Наша конфигурация брокера:

Оперативная память 125,6 ГБ, Размер диска 2,9 ТБ, Процессоры 40

Комментарии:

1. с этим брокером я бы не беспокоился о размерах сообщений в 2 МБ..

Ответ №1:

Я не вижу никаких проблем с наличием сообщений размером до 2 МБ. Вам просто нужно настроить соответствующие параметры;

  • Установите message.max.bytes и replica.fetch.max.bytes на стороне брокера (обратите внимание, что message.max.bytes < replica.fetch.max.bytes ).

  • И max.partition.fetch.bytes на стороне потребителя

как минимум на 2 МБ

Ответ №2:

Я бы предложил рассмотреть более эффективные, даже двоичные форматы данных (ref Avro, Protobuf, MsgPack и т.д.) Для создания данных, А затем дополнительно добавить сжатие (Zstd, GZIP, Snappy и т.д.) В коде производителя, Прежде чем пытаться настроить какие-либо свойства, связанные с брокером