Зачем партиции реплицируются между брокерами?
- Зачем в Kafka replication factor?
Копии партиции на других брокерах защищают от потери данных и недоступности при падении брокера: лидером становится реплика из ISR.
- replication.factor=3 — стандарт для продакшена
- Пишут и читают через лидера (чтение с реплик — опция для близкой зоны)
- Реплики размещают в разных зонах (rack awareness)
А ещё Надёжность записи — вместе с acks=all и min.insync.replicas
Подробно
У каждой партиции есть лидер, принимающий запись и чтение, и набор реплик-последователей, которые за ним повторяют. При отказе лидера одна из синхронных реплик становится новым лидером, и работа продолжается. Обратите внимание, что репликация не ускоряет запись и не экономит место — наоборот, коэффициент репликации умножает и объём хранения, и объём сетевого трафика.
Что хотят услышать
- Зачем репликация.
- Лидер и реплики, фактор репликации.
Частые ошибки
- Считать репликацию средством масштабирования, а не отказоустойчивости.
- Забывать, что репликация умножает требуемый объём диска.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Чтобы уменьшить объём занимаемого диска
- ✗Чтобы ускорить запись за счёт параллельной отправки на все узлы
- ✓Чтобы данные пережили отказ брокера
- ✗Чтобы каждый потребитель читал со своей копии
Что спросят дальше
- Что такое набор синхронных реплик?
- Что произойдёт при отказе лидера партиции?
Разбор темы
- Kafka replication и отказоустойчивость
Leader/followers, ISR и lag, связка acks/min.insync, high watermark и видимость для consumer, выборы лидера и unclean election, rack awareness.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.