Получить доступ

Что такое ISR (in-sync replicas) в Kafka и какую роль он играет?

MiddleРепликация KafkaKafka
Ещё спрашивают так:
  • Что такое in-sync replicas?
Коротко

ISR — реплики партиции, которые не отстали от лидера дольше replica.lag.time.max.ms. Подтверждение acks=all ждёт ISR, а новым лидером может стать только реплика из ISR.

  • Отставшая реплика выбывает из ISR, догнавшая — возвращается
  • ISR из одного лидера — надёжность acks=all падает до acks=1
  • Отсюда min.insync.replicas

А ещё Лидер всегда в ISR

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

У партиции есть лидер и фолловеры. ISR — это лидер плюс те фолловеры, что успевают реплицировать его лог в пределах replica.lag.time.max.ms. Если фолловер отстаёт, его выкидывают из ISR. acks=all считает запись подтверждённой, когда её получили все реплики ISR. При отказе лидера контроллер по умолчанию выбирает нового лидера только из ISR — это гарантирует, что не потеряются подтверждённые сообщения.

Что хотят услышать

  • Определение ISR и критерий отставания.
  • Роль в подтверждении и выборе лидера.

Частые ошибки

  • Путать ISR (реплики) с consumer group (потребители).
  • Думать, что acks=all ждёт ВСЕ реплики, а не только ISR.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Набор реплик партиции, которые успевают догонять лидера; новым лидером при отказе может стать только реплика из ISR
  • ✗Список consumer-ов, читающих партицию в реальном времени
  • ✗Кэш последних сообщений в памяти брокера
  • ✗Резервные брокеры, которые не хранят данные, а только координируют

Что спросят дальше

  • Что делает min.insync.replicas?
  • Чем опасен unclean leader election?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем