Как consumer распределяются по partition: каждый consumer подключается к каждой partition или нет?

В Kafka количество консьюмеров в consumer group и количество партиций топика связаны напрямую с тем, как распределяются сообщения.

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

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

В Kafka количество консьюмеров в consumer group и количество партиций топика связаны напрямую с тем, как распределяются сообщения.

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

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

В Kafka количество консьюмеров в consumer group и количество партиций топика связаны напрямую с тем, как распределяются сообщения.

Если у вас 10 партиций и 100 консьюмеров в одной группе, то:

  • Каждая партиция может быть назначена только одному консьюмеру из группы.
  • Поскольку партиций меньше, чем консьюмеров, то только 10 консьюмеров будут активны и получать данные.
  • Остальные 90 консьюмеров будут простаивать, так как им не будет назначено ни одной партиции.

Итог: максимальное количество активных консьюмеров в группе равно количеству партиций. Избыточное количество консьюмеров не увеличит параллелизм, а лишь создаст неиспользуемые экземпляры.

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

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

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

Подробнее