Sobes.tech
Назад к вопросам
Senior
5

Есть топик с 10 партициями. Сколько нужно контейнеров (консьюмеров), чтобы читать все партиции?

Компании, где спрашивали
Позитив Технолоджис

Ответ от нейросети

sobes.tech AI

Для чтения всех 10 партиций топика в Kafka нужно минимум 10 консьюмеров, если каждый консьюмер запускается в отдельном контейнере и каждый консьюмер читает только одну партицию.

Однако, если консьюмеры объединены в одну группу (consumer group), то количество консьюмеров может быть меньше или равно количеству партиций. В этом случае партиции распределяются между консьюмерами внутри группы, но одна партиция не может быть прочитана одновременно двумя консьюмерами из одной группы.

Итого:

  • Минимум 1 консьюмер (если один консьюмер читает все партиции последовательно).
  • Оптимально — не больше 10 консьюмеров, чтобы не было простаивающих консьюмеров.

Если задача — параллельно читать все партиции, то нужно ровно 10 консьюмеров (в 10 контейнерах), чтобы каждый обрабатывал свою партицию.