Репликация сообщений в Kafka при выходе из строя брокера работает следующим образом: 15
- Каждая партиция в Kafka имеет одну основную реплику — лидера. 5 Он отвечает за приём и запись всех новых сообщений в партиции. 5
- Если лидер становится недоступным, контроллер кластера автоматически выбирает нового лидера из существующих реплик. 5 Например, если лидером была реплика на брокере 1 и он вышел из строя, Kafka выберет новым лидером одну из других реплик. 5
- Если одна из реплик сбоится, данные остаются доступными благодаря другим репликам. 5 Например, если у партиции есть три реплики, и одна из них столкнётся с сбоем, данные останутся доступными благодаря оставшимся двум репликам. 5
Чтобы восстановить своё актуальное состояние, ведомые реплики посылают ведущим запросы (fetch) со смещением (offset). 2 В ответ на них ведомые реплики присылают сообщения в порядке, указанном в смещении. 2