Высокая доступность кластера Managed Service for Apache Kafka®
Высокая доступность кластера Managed Service for Apache Kafka® определяется количеством и расположением его хостов, настройками топиков и другими параметрами кластера.
Количество и расположение хостов кластера
В соответствии с Соглашением об уровне обслуживания (SLA)
Кластер с одним хостом
Кластер с одним хостом — это самый дешевый и простой в работе вариант. Рекомендуется использовать его для тестовых кластеров или production-приложений, не требующих высокой доступности кластера.
Кластер из одного хоста не обеспечивает высокую доступность:
- При выходе из строя ВМ хоста-брокера кластер будет недоступен для чтения и записи до окончания работ по восстановлению ВМ.
- При переходе хоста в режим read-only кластер будет недоступен для записи до ручного увеличения размера хранилища.
Кластер с двумя хостами
В кластере с двумя хостами-брокерами фактор репликации топика не может быть больше двух, и на такой кластер не распространяется SLA.
По сравнению с кластером из одного хоста кластер с двумя хостами дает следующие преимущества:
- Возможна балансировка чтения и записи данных на уровне вашего приложения на два хоста-брокера, что ускоряет работу кластера.
- Возможна репликация разделов топика, если для топика задан фактор репликации
2
. Это обеспечивает его доступность в случае отказа одного из хостов.
Чтобы обеспечить высокую доступность кластера по SLA, вы можете увеличить количество хостов-брокеров.
Кластер с тремя и более хостами
Кластер с тремя и более хостами обеспечивает надежность хранения и бесперебойную доступность данных, если в каждой из трех зон доступности присутствует хотя бы один хост-брокер. Такой кластер соответствует критериям высокой доступности, и на него распространяется SLA.
Для обеспечения высокой доступности по SLA топики кластера должны иметь следующие параметры:
- Фактор репликации —
3
. - Минимальное число синхронных реплик —
2
.
При этом в конфигурации производителя рекомендуется указать параметр acks=all
. Тогда запись сообщения в топик будет считаться успешной только после того, как Apache Kafka® получит подтверждение о записи от количества хостов-брокеров, указанного в параметре Минимальное число синхронных реплик. Подробнее см. в документации Apache Kafka®
Доступность кластера при обслуживании
В таблице приведены возможные варианты доступности кластера в зависимости от количества хостов-брокеров.
Топология кластера | Доступность при обслуживании |
---|---|
Один хост | Полностью недоступен во время его перезагрузки и обновления. |
Два хоста | Только хост, для которого потребовалась перезагрузка, становится временно недоступным. При обновлении версии Apache Kafka® топики кластера недоступны, если их фактор репликации равен 1. |
Три хоста | Только хост, для которого потребовалась перезагрузка, становится временно недоступным. |
Рекомендуется выбирать предпочтительное окно обслуживания с учетом предполагаемой нагрузки на кластер.
Прочие настройки
На высокую доступность кластера также влияют следующие настройки:
- выбранный тип дисков хранилища;
- классы хостов;
- квоты и лимиты.