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

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

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

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

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

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

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

Подробно

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

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

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

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

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

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

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

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

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

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

Разбор темы

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

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

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

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

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