Определение необходимого числа Kafka‑консьюмеров для обработки заданного потока

По производительности нужно минимум 13 активных потребителей, но классическая группа при 10 партициях использует максимум 10. Одного добавления экземпляров недостаточно.

Короткий ответ

Что ответить на собеседовании

По производительности нужно минимум 13 активных потребителей, но классическая группа при 10 партициях использует максимум 10. Одного добавления экземпляров недостаточно.

Подробный разбор

Ответ с пояснениями

Условие

Сколько консьюмеров требуется, чтобы успевать обрабатывать входящие сообщения.

Условия:

  • Тема содержит 10 партиций.
  • Группа потребителей состоит из 5 экземпляров.
  • Нагрузка: 13 сообщений в секунду.
  • Производительность одного консьюмера: 1 сообщение в секунду.

Ответ

По производительности нужно минимум 13 активных потребителей, но классическая группа при 10 партициях использует максимум 10. Одного добавления экземпляров недостаточно.

Пять существующих экземпляров обрабатывают 5 сообщений/с при входящих 13: lag растёт примерно на 8 сообщений/с. Даже десять экземпляров дадут только 10 сообщений/с при указанных ограничениях.

Нужно увеличить число партиций хотя бы до 13 и число потребителей, либо повысить производительность одного экземпляра. Ровно 13 без запаса не покрывает всплески и ребалансировки. Расчёт предполагает равномерное распределение; горячая партиция останется узким местом. Новая consumer group не делит нагрузку старой группы, а получает собственную копию потока.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее