Высокая доступность кластера Yandex StoreDoc
На высокую доступность кластера Yandex StoreDoc влияют параметры, относящиеся к SLA
Количество хостов кластера
Для нешардированного кластера
Кластер из одного хоста не обеспечивает высокую доступность. При выходе из строя первичной реплики кластер будет недоступен на чтение и запись до восстановления ее работы.
Если кластер содержит хотя бы два хоста, он обеспечивает доступность при выходе из строя одного из них.
Скрытые хосты не влияют на доступность кластера и не учитываются в расчетах.
Для кластера со стандартным шардированием
Кластер устойчив к отказу одного хоста при выполнении следующих условий:
- Кластер содержит хотя бы два хоста
MONGOINFRA. - Каждый шард кластера содержит хотя бы два хоста
MONGOD.
Скрытые хосты не влияют на доступность кластера и не учитываются в расчетах.
Для кластера с расширенным шардированием
Кластер устойчив к отказу одного хоста при выполнении следующих условий:
- Кластер содержит хотя бы два хоста
MONGOSи два хостаMONGOCFG. - Каждый шард кластера содержит хотя бы два хоста
MONGOD.
Скрытые хосты не влияют на доступность кластера и не учитываются в расчетах.
Резервное копирование
Если кластер вышел из строя, его можно восстановить из резервной копии.
Чтобы обеспечить сохранность данных и допустимое время восстановления кластера:
- Убедитесь, что в заданный момент начала резервного копирования кластер работает и автоматические резервные копии создаются.
- Установите подходящий срок хранения резервных копий.
- Перед важными изменениями проводите ручное резервное копирование. Созданные вручную резервные копии хранятся бессрочно.
- Проводите регулярные тесты восстановления кластера из резервных копий.
Подключение к Yandex StoreDoc
На доступность кластера Yandex StoreDoc влияют способ и настройки подключения:
-
Используйте для подключения только рекомендованные клиенты.
-
Включите публичный доступ и настройте группы безопасности для каждого хоста кластера.
Важно
Если публичный доступ настроен не для всех хостов кластера, автоматическая смена первичной реплики может сделать кластер недоступным из интернета.
-
Не рекомендуется изменять значение параметра
writeConcernпри выполнении запроса.По умолчанию для всех операций записи используется значение
writeConcern: { w: "majority" }— операция считается успешной, когда ее подтвердило большинство реплик. При запросах сwriteConcern: 1данные на вторичных репликах могут отставать. Пока данные на репликах не синхронизируются с первичной репликой, новые операции записи со значениемwriteConcern: { w: "majority" }или без указания настройкиwriteConcernбудут завершаться таймаутом. Операции на запись сwriteConcern: 1будут выполняться в асинхронном режиме, но каждая операция будет увеличивать отставание данных на вторичных репликах. При выходе из строя первичной реплики несохраненные на репликах данные будут потеряны. Поэтому для таких кластеров не гарантируются SLA и высокая доступность.
Свободное место в хранилище
Yandex StoreDoc отслеживает расходование дискового пространства и автоматически переводит в режим Только чтение те хосты кластера, у которых:
- осталось менее 500 МБ свободного места (если размер хранилища хоста менее 600 ГБ);
- осталось менее 5 ГБ свободного места (если размер хранилища хоста 600 ГБ или более).
Чтобы хосты кластера оставались доступными на запись, регулярно проверяйте график Disk space usage per host или создайте алерт с метрикой disk.free_bytes.
Тип конфигурации хостов
На доступность кластера влияет конфигурация хостов. Высокодоступный кластер должен иметь конфигурацию с гарантированной долей vCPU 100%. Типы конфигураций b1, b2 и b3 с гарантированной долей vCPU 50% не обеспечивают высокой доступности и должны использоваться только для тестовых окружений.
Обслуживание кластера и изменение его параметров
Следующие операции могут привести к прерыванию соединений с БД и временному снижению производительности:
- Запуск технического обслуживания (вы можете задать предпочтительное время запуска, настроив окно обслуживания).
- Изменение класса хостов.
- Автоматическое и ручное резервное копирование баз данных.
Проводите эти операции в моменты минимальной нагрузки на кластер. Выбирайте предпочтительный день недели и время обслуживания с учетом предполагаемой нагрузки на кластер.
Важно
Во время проведения этих операций возможна смена первичной реплики. Если в кластере нет хостов, которые могли бы стать новой первичной репликой, кластер будет временно недоступен.