В Kafka репликация данных происходит на уровне партиций топиков. Каждая партиция имеет одного лидера и несколько реплик (followers), которые хранят копии данных лидера. Все записи пишутся на лидера, а реплики асинхронно копируют эти данные.
Как работает репликация Kafka, что будет при падении broker, и как гарантировать, что запись реплицирована?
В Kafka репликация данных происходит на уровне партиций топиков.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Kafka репликация данных происходит на уровне партиций топиков. Каждая партиция имеет одного лидера и несколько реплик (followers), которые хранят копии данных лидера. Все записи пишутся на лидера, а реплики асинхронно копируют эти данные.
Роль репликации — обеспечить отказоустойчивость: если лидер партиции выходит из строя, одна из реплик автоматически становится новым лидером, что позволяет продолжать работу без потери данных. Таким образом, репликация защищает систему от сбоев отдельных брокеров и повышает надежность доставки сообщений.
Пример: если у топика 3 партиции, каждая с фактором репликации 3, то данные каждой партиции хранятся на 3 брокерах. При падении одного брокера Kafka переключится на реплику на другом брокере.