Если это три consumers одной группы и все подписаны на topic из трёх партиций, обычно каждому назначают одну партицию. Три рабочих потока сами по себе такого назначения не создают.
Что происходит при распределении партиций между тремя потоками и тремя партициями в Kafka?
Если это три consumers одной группы и все подписаны на topic из трёх партиций, обычно каждому назначают одну партицию. Три рабочих потока сами по себе такого назначения не создают.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если это три consumers одной группы и все подписаны на topic из трёх партиций, обычно каждому назначают одну партицию. Три рабочих потока сами по себе такого назначения не создают.
Kafka распределяет партиции между членами consumer group, а не произвольными потоками приложения. Одна партиция в рамках группы назначена одному consumer в текущем поколении. При входе, выходе или сбое участника возможен rebalance. Дополнительная обработка в thread pool требует самостоятельного контроля порядка и подтверждения offsets. Если consumers принадлежат разным группам, каждая группа читает собственный поток. Поэтому в ответе важно уточнить конфигурацию клиентов и подписок.