Вопрос с собеседования · Брокеры сообщений

Зачем партиции реплицируются между брокерами?

JuniorРепликация KafkaKafka
Ещё спрашивают так:
  • Зачем в Kafka replication factor?
Коротко

Копии партиции на других брокерах защищают от потери данных и недоступности при падении брокера: лидером становится реплика из ISR.

  • replication.factor=3 — стандарт для продакшена
  • Пишут и читают через лидера (чтение с реплик — опция для близкой зоны)
  • Реплики размещают в разных зонах (rack awareness)

А ещё Надёжность записи — вместе с acks=all и min.insync.replicas

Подробно

У каждой партиции есть лидер, принимающий запись и чтение, и набор реплик-последователей, которые за ним повторяют. При отказе лидера одна из синхронных реплик становится новым лидером, и работа продолжается. Обратите внимание, что репликация не ускоряет запись и не экономит место — наоборот, коэффициент репликации умножает и объём хранения, и объём сетевого трафика.

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

  • Зачем репликация.
  • Лидер и реплики, фактор репликации.

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

  • Считать репликацию средством масштабирования, а не отказоустойчивости.
  • Забывать, что репликация умножает требуемый объём диска.

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

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

Показать варианты и ответ
  • ✗Чтобы уменьшить объём занимаемого диска
  • ✗Чтобы ускорить запись за счёт параллельной отправки на все узлы
  • ✓Чтобы данные пережили отказ брокера
  • ✗Чтобы каждый потребитель читал со своей копии

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

  • Что такое набор синхронных реплик?
  • Что произойдёт при отказе лидера партиции?

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования