Ответ
Оптимальное количество потребителей в одной consumer group напрямую зависит от количества партиций в топике, который они читают.
Основное правило: Количество потребителей в группе не должно превышать количество партиций. Каждая партиция может быть назначена только одному потребителю в рамках одной группы.
Рассмотрим сценарии для топика с N партициями:
- Кол-во потребителей < N: Некоторые потребители будут обрабатывать сообщения из нескольких партиций. Это нормальная ситуация, если нагрузка позволяет.
- Кол-во потребителей = N: Это идеальный сценарий для максимальной параллельной обработки. Каждый потребитель обрабатывает сообщения из одной партиции.
- Кол-во потребителей > N: Лишние потребители (
Кол-во потребителей - N) будут простаивать и не получат ни одной партиции для обработки. Это бесполезная трата ресурсов.
Масштабирование: Если вы хотите увеличить пропускную способность чтения из топика, вам нужно сначала увеличить количество партиций в этом топике, а затем добавить соответствующее количество экземпляров потребителей в группу.