Ниже приведено определение соответствующих конфигов, о которых идет речь
Конфигурация производителя
batch.size : производитель будет пытаться пакетировать записи, пока не достигнет batch.size, прежде чем он будет отправлен в kafka (при условии, что batch.size настроен так, чтобы иметь приоритет над linger.ms). По умолчанию - 16384 байт
max.request.size : максимальный размер запроса в байтах. Этот параметр будет ограничивать количество пакетов записей, которые производитель отправит за один запрос, чтобы избежать отправки огромных запросов. Это также эффективно ограничивает максимальный размер пакета записи. По умолчанию - 1048576 байт
Конфигурация брокера
message.max.bytes : Наибольший размер пакета записи, разрешенный Kafka. По умолчанию - 1000012 байт
replica.fetch.max.bytes : Это позволит репликам в посредниках отправлять сообщения в кластере и обеспечивать правильную репликацию сообщений.
Чтобы ответить на ваши вопросы
Чтобы избежать ошибок отправки производителем, вам не нужно устанавливать размер пакета 2 МБ, так как это задержит передачу ваших сообщений небольшого размера. Вы можете сохранить размер пакета в соответствии со средним размером сообщения и в зависимости от того, сколько вы хотите пакетировать
Если вы не укажете размер пакета, будет использовано значение по умолчанию, которое
16384 байта
Таким образом, в основном вам необходимо настроить «max.request.size»> = 2 МБ, а также «message.max.bytes» и «replica.fetch.max.bytes» посредника> = 2 МБ.