При создании кластера вы можете выбрать режим его размещения:
Single-AZ — в одной зоне доступности.
Multi-AZ — в нескольких зонах доступности.
Использование нескольких зон доступности повышает отказоустойчивость кластера. При сбое одной зоны хосты в других зонах продолжают работу и кластер остается доступным.
При выборе режима Single-AZ все хосты кластера размещаются в одной зоне доступности.
Если зона доступности становится недоступна, все хосты кластера отключаются. Кластер становится полностью неработоспособным до восстановления инфраструктуры зоны.
Single-AZ подходит для разработки, тестирования и некритичных приложений.
При выборе режима Multi-AZ хосты кластера распределяются по разным зонам доступности. Реплики разделов автоматически размещаются в разных зонах, обеспечивая высокую доступность данных.
При сбое одной зоны доступности хосты в других зонах продолжают работу. Данные остаются доступны через реплики в оставшихся зонах. После переизбрания лидеров разделов клиенты продолжают отправлять и получать сообщения в штатном режиме.
Multi-AZ подходит для production-среды и критичных приложений.
Контроллеры кластера работают на основе протокола KRaft и образуют кворум — минимальное количество контроллеров, которые должны быть доступны для внесения изменений в метаданные кластера.
В Managed Kafka всегда используются три контроллера:
при отказе одного контроллера — кластер работает в штатном режиме, кворум сохраняется;
при отказе двух контроллеров из трех — изменения метаданных недоступны, чтение и запись по существующим топикам продолжаются;
при отказе всех трех контроллеров — кластер недоступен.
После восстановления недоступных контроллеров кворум восстанавливается автоматически и кластер возобновляет работу.
При потере кворума создание новых топиков и изменение конфигурации кластера недоступны. Чтение и запись сообщений по существующим топикам продолжаются.
Выбор режима хостов (комбинированный или выделенный) и режима отказоустойчивости (Single-AZ или Multi-AZ) определяет надежность кластера.
Конфигурация | Количество хостов | Отказоустойчивость |
|---|---|---|
Комбинированный, Single-AZ | 1 брокер | Минимальная. При сбое хоста или отказе зоны доступности кластер недоступен. |
Комбинированный, Single-AZ | 3 брокера | Низкая. При сбое одного хоста кластер доступен. При отказе зоны доступности кластер недоступен. |
Комбинированный, Multi-AZ | 3 брокера | Средняя. При сбое одного хоста или отказе зоны доступности кластер доступен. |
Выделенный, Multi-AZ | 1 брокер в каждой зоне доступности + 3 контроллера | Высокая. При сбое хоста или отказе зоны доступности кластер доступен. Разделение функций брокера и контроллера повышает общую отказоустойчивость, так как появляются отдельные ресурсы для обработки запросов клиентов и управления кластером. |
Выделенный, Multi-AZ | От 2 до 5 брокеров в каждой зоне доступности + 3 контроллера | Максимальная. При сбое хоста или отказе зоны доступности кластер доступен. Разделение функций брокера и контроллера повышает общую отказоустойчивость, так как появляются отдельные ресурсы для обработки запросов клиентов и управления кластером. Большее количество брокеров увеличивает производительность и масштабируемость системы, позволяя обслуживать больше трафика. |