[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for MySQL®](../index.md) > [Концепции](index.md) > Высокая доступность кластера

# Высокая доступность кластера Managed Service for MySQL®

В этой статье описаны параметры кластера, упоминаемые в [Соглашении об уровне обслуживания (SLA)](https://yandex.ru/legal/cloud_sla_mdb/), а также другие настройки и параметры, влияющие на высокую доступность кластера Managed Service for MySQL®.

## Количество хостов кластера {#host-configuration}

Кластер может состоять из одного или нескольких хостов.

Кластер из одного хоста не обеспечивает высокую доступность. При выходе из строя хоста-мастера кластер будет недоступен на чтение и запись до окончания работ по его восстановлению.

Кластер с двумя и более хостами устойчив к отказу одного из хостов. Для production-окружений с повышенными требованиями к доступности и производительности рекомендуется использовать кластеры с тремя и более хостами: при отказе одного хоста сохраняется избыточность и нет существенного падения производительности.

## Настройки репликации и переключения мастера {#replication-settings}

Высокая доступность обеспечивается механизмами [репликации и переключения мастера](replication.md), которые имеют следующие особенности:
* В кластере используется механизм автоматического выбора и переключения на новый мастер. При выходе из строя хоста-мастера одна из реплик становится новым мастером. Также можно вручную выбрать новый мастер и [переключиться на него](../operations/update.md#start-manual-failover).
* Для любой реплики можно [вручную выбрать](replication.md#manual-source) хост в качестве источника репликации. Такая реплика становится _каскадной_ и переходит в _асинхронный_ режим репликации. Каскадная реплика не задействована в [механизме выбора и переключения мастера](https://www.percona.com/blog/overview-of-different-mysql-replication-solutions/) и не учитывается при расчете минимального числа хостов, обеспечивающих высокую доступность кластера, так как источник не ждет получения транзакций такими репликами.
* Если для хоста используется публичный доступ, то для реплик он также должен быть включен, иначе при переключении мастера кластер станет недоступен.
* Использование [FQDN текущего мастера](../operations/connect/fqdn.md#fqdn-master) упрощает написание приложений, но приводит к временной недоступности кластера при переключении на новый мастер. Для быстрого переключения на новый мастер необходимо реализовать на стороне приложения определение нового мастера.
* В кластерах Managed Service for MySQL® используется [полусинхронная репликация](https://dev.mysql.com/doc/refman/5.7/en/replication-semisync.html): по умолчанию мастер ожидает завершения транзакции хотя бы на одной реплике. Минимальное количество реплик, которые должны подтвердить транзакцию, можно увеличить с помощью настройки MySQL® [Rpl semi sync master wait for slave count](settings-list.md#setting-rpl-wait-slave-count).

## Свободное место в хранилище {#storage-settings}

Если хранилище баз данных заполнится на 95%, кластер перейдет в режим **Только чтение**. Чтобы кластер оставался доступным на запись, регулярно [проверяйте график Disk usage](../operations/monitoring.md#monitoring-cluster) или [создайте алерт с метрикой disk.used_bytes](../operations/monitoring.md#monitoring-integration).

## Настройки обслуживания {#maintenance-settings}

В процессе [технического обслуживания](maintenance.md) кластера и [обновления версии MySQL®](../operations/cluster-version-update.md) возможно временное снижение производительности операций чтения и временная недоступность кластера на запись. Учитывайте предполагаемую нагрузку на кластер при выборе:
* [окна обслуживания](maintenance.md#maintenance-window),
* момента обновления версии MySQL®.

## Прочие настройки {#other-settings}

На доступность кластера также могут влиять следующие настройки:

* [настройки резервного копирования](backup.md);
* выбранный [тип дисков хранилища](storage.md);
* [классы хостов](instance-types.md);
* [квоты и лимиты](limits.md);
* [настройка групп безопасности](../operations/connect/index.md#configuring-security-groups);
* Настройки MySQL® [Max connections](settings-list.md#setting-max-connections) и [Sync binlog](settings-list.md#setting-sync-binlog).