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