Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kafka: consumer, failure, rebalance

Что произойдёт при сбое consumer’а в Kafka?

Вопрос проверяет понимание отказоустойчивости Kafka и поведения consumer-групп при сбоях.

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

При сбое consumer’а Kafka инициирует ребаланс consumer-группы. Partition’ы, которые были закреплены за упавшим consumer’ом, перераспределяются между оставшимися. Новый consumer продолжит чтение с последнего закоммиченного offset’а. Неподтверждённые сообщения могут быть прочитаны повторно. Это нормальное и ожидаемое поведение.

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

Kafka проектировалась с учётом неизбежных сбоев.

Определение

Rebalance — процесс перераспределения partition’ов между consumer’ами внутри одной группы.

Пошаговое поведение при сбое

Когда consumer перестаёт отвечать:

  1. Он не отправляет heartbeat

  2. Group coordinator считает его мёртвым

  3. Запускается rebalance

  4. Partition’ы перераспределяются

  5. Другие consumer’ы продолжают работу

Что будет с сообщениями

Зависит от коммита offset’ов.

  1. Offset закоммичен

    • сообщения считаются обработанными

    • повторного чтения нет

  2. Offset не закоммичен

    • сообщения будут прочитаны повторно

    • возможны дубликаты

Почему это нормально

Kafka следует модели:

  • at-least-once по умолчанию

Поэтому:

  1. Повторная обработка допустима

  2. Логика должна быть идемпотентной

Как уменьшить побочные эффекты

  1. Коммитить offset после обработки

  2. Делать обработку идемпотентной

  3. Использовать exactly-once при необходимости

Вывод

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Kafka

    Kafka

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

#consumer

#failure

#rebalance

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