Как определяется, в какую partition Kafka попадёт сообщение?

Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.

Короткий ответ

Что ответить на собеседовании

Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.

Подробный разбор

Ответ с пояснениями

Партицию выбирает producer: явно указанная partition, настроенный partitioner либо стандартная логика по ключу/балансировке. Брокер не распределяет каждую запись произвольно заново.

В стандартном Java producer Kafka 4.1 при наличии ключа обычно используется его хеш, если ключи не игнорируются настройкой. Без ключа применяется sticky-распределение для эффективного накопления пакетов; пользовательский partitioner может изменить правило.

Стабильность зависит от сериализации ключа и числа партиций. После увеличения их количества прежний ключ может направляться в другую партицию, что важно для порядка событий. Не переносите детали одного клиента автоматически на все библиотеки Kafka.

Источник: Документация Apache Kafka.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее