Какими способами Kafka обеспечивает защиту данных при сбое одного из брокеров?
Answer from AI
sobes.tech AI
Kafka обеспечивает защиту данных при сбое брокера за счёт следующих механизмов:
-
Репликация партиций: Каждая партиция топика реплицируется на несколько брокеров (replication factor). Если один брокер выходит из строя, данные доступны на других репликах.
-
Лидер и фолловеры: Для каждой партиции выбирается лидер, который обрабатывает все операции записи и чтения. Остальные реплики — фолловеры — синхронизируют данные с лидером.
-
Подтверждение записи (acks): Продюсер может настроить уровень подтверждения записи (например, ждать подтверждения от всех реплик), что гарантирует сохранность данных.
-
ISR (In-Sync Replicas): Набор реплик, которые синхронизированы с лидером. Только данные, подтверждённые всеми репликами из ISR, считаются записанными.
-
Автоматическое переключение лидера: При сбое брокера, который был лидером, Kafka автоматически выбирает нового лидера из ISR, обеспечивая доступность данных.
Таким образом, комбинация репликации, подтверждений и автоматического управления лидерами обеспечивает защиту данных при сбоях отдельных брокеров.