Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Как распределяются сообщения между consumer’ами?

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

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

Сообщения распределяются между consumer’ами через partition’ы. Каждый partition назначается ровно одному consumer’у внутри consumer group. Consumer читает все сообщения из своих partition’ов последовательно. Kafka не распределяет отдельные сообщения между consumer’ами напрямую. Распределение происходит на уровне partition’ов.

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

Общая идея

Kafka распределяет нагрузку не по сообщениям, а по partition’ам. Это фундаментальный принцип архитектуры Kafka.

Consumer Group

Consumer Group — это набор consumer’ов, которые совместно читают один или несколько topic’ов.

Основные правила:

  1. Один partition → один consumer в группе

  2. Один consumer может читать несколько partition’ов

  3. Сообщения из partition читаются последовательно

Как происходит распределение

Процесс выглядит так:

  1. Consumer’ы объединяются в группу

  2. Kafka определяет список partition’ов topic’а

  3. Partition’ы распределяются между consumer’ами

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

Kafka никогда:

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

  • не балансирует нагрузку на уровне отдельных сообщений

Пример

Если:

  • topic имеет 4 partition’а

  • consumer group состоит из 2 consumer’ов

То:

  • каждый consumer получит по 2 partition’а

  • обработка будет идти параллельно

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

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Kafka

    Kafka

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

#consumer

#group

#partition

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