В Kafka консьюмеры внутри одной группы распределяют партиции между собой. Если партиций меньше, чем консьюмеров, то некоторые консьюмеры останутся без назначенных партиций и не будут получать данные.
Как консюмеры будут читать из партиций при 3 партициях и 4 консюмерах в одной группе? А при 4 партициях и 3 консюмерах?
В Kafka консьюмеры внутри одной группы распределяют партиции между собой. Если партиций меньше, чем консьюмеров, то некоторые консьюмеры останутся без назначенных партиций и не будут получать данные.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Kafka консьюмеры внутри одной группы распределяют партиции между собой. Если партиций меньше, чем консьюмеров, то некоторые консьюмеры останутся без назначенных партиций и не будут получать данные.
В вашем случае 4 партиции и 5 консьюмеров в группе:
- Каждая из 4 партиций будет назначена одному консьюмеру.
- Пятый консьюмер останется без партиций и не будет читать данные.
Таким образом, данные будут читаться только 4 консьюмерами, каждый из которых обрабатывает свою партицию. Чтобы все 5 консьюмеров были задействованы, нужно увеличить количество партиций минимум до 5.