Назад к вопросам
Senior
8
Kafka: топик с 3 партициями и 2 консюмера в одной группе — как распределится чтение?
Компании, где спрашивали
SSP Soft
Ответ от нейросети
sobes.tech AI
В Kafka партиции топика распределяются между консюмерами внутри одной группы так, чтобы каждая партиция читалась ровно одним консюмером из этой группы. При топике с 3 партициями и 2 консюмерами в группе распределение будет примерно таким:
- Один консюмер получит 2 партиции
- Второй консюмер получит 1 партицию
Это связано с тем, что количество партиций больше количества консюмеров, и Kafka пытается распределить партиции максимально равномерно. Если бы консюмеров было больше или равно количеству партиций, то некоторые консюмеры могли бы не получать данных.
Пример распределения:
| Консюмер | Партиции |
|---|---|
| Consumer 1 | 0, 1 |
| Consumer 2 | 2 |
Таким образом, чтение будет параллельным, но каждая партиция будет читаться только одним консюмером, что обеспечивает упорядоченность сообщений внутри партиции.