Вопрос проверяет понимание настроек consumer’а Kafka и влияния batch-чтения на производительность и latency.
Размер batch при чтении сообщений в Kafka настраивается через параметры consumer’а.
Kafka не читает строго фиксированный batch, а ограничивается условиями.
Основные параметры управляют количеством байт и временем ожидания.
Баланс настраивается между throughput и latency.
Неправильные значения могут привести к задержкам или перегрузке памяти.
Batch-чтение в Kafka гибкое и управляется конфигурацией.
Ключевые настройки:
max.poll.records — максимальное количество сообщений за один poll()
fetch.min.bytes — минимальный объём данных для ответа
fetch.max.bytes — максимальный размер данных от брокера
fetch.max.wait.ms — максимальное время ожидания набора batch
Kafka:
ждёт, пока наберётся минимум данных
либо пока не истечёт тайм-аут
затем возвращает batch сообщений
max.poll.records=500
fetch.min.bytes=1048576
fetch.max.wait.ms=100
большой batch → высокий throughput, больше latency
маленький batch → низкая latency, больше сетевых вызовов
Размер batch в Kafka — это компромисс между скоростью обработки и задержкой, который настраивается под конкретную нагрузку.