Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kafka: consumer, group, partition

Как распределяются partition’ы между consumer’ами в группе?

Вопрос проверяет понимание механизмов распределения partition’ов внутри consumer group и роли coordinator’а.

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

Partition’ы распределяются между consumer’ами внутри consumer group с помощью алгоритма назначения. За процесс отвечает group coordinator на стороне Kafka. Каждый partition назначается только одному consumer’у. Конкретный алгоритм распределения зависит от выбранной стратегии. Цель распределения — равномерно распределить нагрузку.

Длинный ответ

Общая идея

Kafka распределяет partition’ы между consumer’ами автоматически, чтобы обеспечить параллельную обработку и соблюдение порядка сообщений.

Роль group coordinator

Group coordinator — это broker, который:

  • отслеживает состав consumer group,

  • запускает процесс распределения partition’ов,

  • контролирует состояние группы.

Стратегии распределения

Kafka поддерживает несколько стратегий назначения partition’ов:

  1. Range — распределяет partition’ы по диапазонам (по порядку)

  2. RoundRobin — распределяет partition’ы по кругу

  3. Sticky — старается минимизировать изменения при rebalance

Стратегия выбирается на стороне consumer’а.

Пример распределения

Если:

  • 4 partition’а

  • 2 consumer’а

То возможный результат:

  1. Consumer A → Partition 0, 1

  2. Consumer B → Partition 2, 3

Важные ограничения

При распределении всегда соблюдаются правила:

  • один partition → один consumer

  • consumer может читать несколько partition’ов

  • порядок сообщений внутри partition сохраняется

Краткий вывод

Partition’ы распределяются между consumer’ами автоматически через coordinator с использованием стратегий назначения, что позволяет Kafka балансировать нагрузку и сохранять порядок сообщений.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Kafka

    Kafka

Ключевые слова

#consumer

#group

#partition

Подпишись на Java Developer в телеграм