Вопрос проверяет понимание механизма пакетной отправки сообщений в Kafka producer и его влияния на производительность.
Kafka producer собирает сообщения в батчи перед отправкой, чтобы уменьшить количество сетевых запросов и увеличить пропускную способность.
Как это работает:
сообщения складываются в буфер
когда буфер достигает размера batch.size или проходит linger.ms
батч отправляется в Kafka
Ключевые параметры:
batch.size - максимальный размер батча
linger.ms - сколько ждать перед отправкой
compression.type - сжатие батчей
Почему batching важен:
уменьшает количество сетевых round-trip
снижает нагрузку на broker
увеличивает throughput
Минусы:
увеличивает latency
возможна потеря нескольких сообщений при сбое
Пример trade-off:
маленький batch - низкая задержка
большой batch - высокая производительность
Вывод:
Batching - один из ключевых механизмов оптимизации Kafka producer.