Высокая доступность кластера Yandex Managed Service for Valkey™
Высокая доступность — это способность системы быстро восстанавливать работоспособность при отказах, обеспечивая непрерывность сервиса для клиентов.
На высокую доступность кластера Yandex Managed Service for Valkey™ влияют параметры, относящиеся к SLA
Количество и расположение хостов кластера
Для нешардированного кластера
Кластер из одного хоста не обеспечивает высокую доступность. При выходе мастера из строя кластер будет недоступен на чтение и запись до восстановления работы мастера.
Если кластер содержит хотя бы два хоста, он обеспечивает доступность при выходе из строя одного из них.
Для шардированного кластера
Если каждый шард кластера содержит как минимум два хоста, такой кластер обеспечивает доступность при выходе из строя одного хоста.
Настройки репликации и переключения мастера
Высокая доступность обеспечивается механизмами репликации и переключения мастера, которые имеют следующие особенности:
- В архитектуру Yandex Managed Service for Valkey™ интегрирован агент управления состоянием хоста rdsync
, который в случае отказа мастера автоматически выбирает новый мастер и переключается на него. Для оптимальной работыrdsyncчисло хостов в кластере должно быть четным. - Повлиять на выбор нового мастера в кластере Yandex Managed Service for Valkey™ можно с помощью настройки приоритетов для хостов кластера.
- Выбор нового мастера и переключение на него можно произвести вручную.
- Если для хоста используется публичный доступ, то для реплик он также должен быть включен, иначе при переключении мастера кластер станет недоступен.
- В кластерах Yandex Managed Service for Valkey™ используется асинхронная репликация: результат запроса на запись отражается на хосте-мастере, который после этого отправляет данные на реплики кластера.
Подключение к БД
На доступность кластера влияют способ и настройки подключения:
- Используйте для подключения только рекомендованные клиенты.
- Настройте группы безопасности.
- Задайте значения настроек Valkey™ Timeout, Maxmemory policy, Maxmemory percent, Client output buffer limit normal и Client output buffer limit pubsub таким образом, чтобы в штатных режимах работы не наблюдались отказы операций записи и массовые разрывы соединений.
Настройки хранилища
Если хранилище баз данных заполнится на 100%, кластер перейдет в режим read-only. Чтобы кластер оставался доступным на запись:
- Включите автоматическое увеличение размера хранилища.
- Создайте алерт для отслеживания степени заполнения хранилища.
Настройки персистентности и команда WAIT
Чтобы повысить устойчивость к отказам:
- включите персистентность на репликах;
- используйте команду
WAITс числом доступных репликN/2, гдеN— число хостов в кластере.
Тип виртуальной машины
На доступность кластера влияет тип виртуальных машин, на которых будут развернуты хосты. Высокодоступный кластер должен иметь тип ВМ с гарантированной долей vCPU 100%. Тип ВМ burstable с гарантированной долей vCPU 50% не обеспечивает высокой доступности и должен использоваться только для тестовых окружений.
Прочие настройки
На доступность кластера также могут влиять следующие параметры и настройки кластера:
Обслуживание кластера и изменение его параметров
Следующие операции могут привести к разрыву соединений, временному снижению производительности или временной недоступности кластера:
- Запуск операций технического обслуживания (момент их запуска задается с помощью выбора окна обслуживания) — может приводить к разрыву соединений и временной недоступности кластера на запись.
- Обновление версии Valkey™, изменение класса хостов, изменение типа диска или увеличение размера хранилища — приводит к разрыву соединений, временному снижению производительности или временной недоступности кластера на запись.
- Изменение настройки Valkey™ Databases — приводит к разрыву соединений и временной недоступности кластера на запись.
- Автоматическое и ручное резервное копирование баз данных — может приводить к временному снижению производительности кластера.
Проводите эти операции в моменты минимальной нагрузки на кластер.