Как Kafka обеспечивает отказоустойчивость и сохранность данных?

Ответ

Kafka реплицирует каждую партицию на несколько брокеров (replication.factor). Один брокер - лидер, остальные - реплики (ISR, In-Sync Replicas). При падении лидера контроллер автоматически выбирает нового из ISR. Продюсер с acks=all получает подтверждение только после записи во все ISR-реплики. Параметр min.insync.replicas задает минимум синхронных реплик для записи. Типичная конфигурация (RF=3, min.insync=2, acks=all) выдерживает потерю одного брокера без остановки и потери данных. Consumer при перезапуске продолжает с закоммиченного offset, не теряя позицию.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.