Высокая доступность кластера Managed Service for MySQL®
В этой статье описаны параметры кластера, упоминаемые в Соглашении об уровне обслуживания (SLA)
Количество и расположение хостов кластера
Кластер может состоять из одного или нескольких хостов.
Кластер из одного хоста не обеспечивает высокую доступность. При выходе из строя хоста-мастера кластер будет недоступен на чтение и запись до окончания работ по его восстановлению.
Кластер с двумя и более хостами, расположенными в разных зонах доступности, устойчив к отказу одной зоны. Для production-окружений с повышенными требованиями к доступности и производительности рекомендуется использовать кластеры с тремя и более хостами: при отказе одной зоны сохраняется избыточность и нет существенного падения производительности.
Примечание
Если для хоста вручную установлен источник репликации, такой хост не учитывается при расчете минимального числа хостов, обеспечивающих высокую доступность кластера.
Настройки репликации и переключения мастера
Высокая доступность обеспечивается механизмами репликации и переключения мастера, которые имеют следующие особенности:
- В кластере используется механизм автоматического выбора и переключения на новый мастер. При выходе из строя хоста-мастера одна из реплик становится новым мастером. Также можно вручную выбрать новый мастер и переключиться на него.
- Для любой реплики можно вручную выбрать хост в качестве источника репликации. Такая реплика не будет задействована в механизме выбора и переключения мастера.
- Если для хоста используется публичный доступ, то для реплик он также должен быть включен, иначе при переключении мастера кластер станет недоступен.
- Использование FQDN текущего мастера упрощает написание приложений, но приводит к временной недоступности кластера при переключении на новый мастер. Для быстрого переключения на новый мастер необходимо реализовать на стороне приложения определение нового мастера.
- В кластерах Managed Service for MySQL® используется полусинхронная репликация
: по умолчанию мастер ожидает завершения транзакции хотя бы на одной реплике. Минимальное количество реплик, которые должны подтвердить транзакцию, можно увеличить с помощью настройки MySQL® Rpl semi sync master wait for slave count. Для Rpl semi sync master wait for slave count рекомендуется задавать значение не меньше, чем максимальное число хостов в одной зоне, без учета хостов, для которых вручную выбран источник репликации. Тогда каждая транзакция будет подтверждаться хотя бы одной репликой в другой зоне доступности, так что даже при отказе целой зоны транзакции не будут потеряны.
Свободное место в хранилище
Если хранилище баз данных заполнится на 95%, кластер перейдет в режим Только чтение. Чтобы кластер оставался доступным на запись, регулярно проверяйте график Disk usage или создайте алерт с метрикой disk.used_bytes.
Настройки обслуживания
В процессе технического обслуживания кластера и обновления версии MySQL® возможно временное снижение производительности операций чтения и временная недоступность кластера на запись. Учитывайте предполагаемую нагрузку на кластер при выборе:
- окна обслуживания,
- момента обновления версии MySQL®.
Прочие настройки
На доступность кластера также могут влиять следующие настройки:
- настройки резервного копирования;
- выбранный тип дисков хранилища;
- классы хостов;
- квоты и лимиты;
- настройка групп безопасности;
- Настройки MySQL® Max connections и Sync binlog.