Репликация в Managed Redis®
Репликация — это процесс дублирования данных мастер-узла на его реплику или несколько реплик. С помощью репликации в Redis® осуществляется высокая доступность и автоматическое переключение при отказе мастера.
Репликация в Redis® работает следующим образом:
Когда подключение между мастером и репликой стабильно, мастер посылает реплике поток команд, чтобы продублировать изменения данных. Изменениями могут быть новые записи клиента, устаревшие или удаленные ключи и все прочие действия, которые вносят изменения в данные на мастере.
Если связь между мастером и репликой обрывается, реплика пытается восстановить связь и продолжить работу с частичной ресинхронизацией. Это значит, что реплика попытается принять часть потока команд, которые были упущены из-за потери связи.
Если частичная ресинхронизация невозможна, реплика делает запрос о полной ресинхронизации. Это инициирует более сложный процесс, при котором мастер должен создать снапшот всех своих данных, направить его реплике, а затем продолжить отправку потоков команд.
По умолчанию Redis® использует асинхронную репликацию, что уменьшает время задержки и повышает производительность.
Подробнее о репликации в Redis® читайте в официальной документации.
Autofailover
Для повышения надежности в кластерах типа Master/Replica используется Redis Sentinel. Инструмент отслеживает состояние всех узлов в кластере и выполняет автоматическое переключение ролей (autofailover) при отказе мастера, назначая одну из доступных реплик новым мастером и обновляя оставшиеся реплики для синхронизации. Это минимизирует время простоя и обеспечивает постоянную доступность.
- Autofailover