Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.
Как определяется, в какую partition Kafka попадёт сообщение?
Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.
В стандартном Java producer Kafka 4.1 при наличии ключа обычно используется его хеш, если ключи не игнорируются настройкой. Без ключа применяется sticky-распределение для эффективного накопления пакетов; пользовательский partitioner может изменить правило.
Стабильность зависит от сериализации ключа и числа партиций. После увеличения их количества прежний ключ может направляться в другую партицию, что важно для порядка событий. Не переносите детали одного клиента автоматически на все библиотеки Kafka.
Источник: Документация Apache Kafka.