Архитектура
Alauda Cache Service для Redis OSS предлагает две различные архитектуры развертывания, каждая из которых разработана для решения конкретных задач по производительности, масштабируемости и высокой доступности.
-
Sentinel Mode: Конфигурация высокой доступности, состоящая из основного экземпляра Redis и настраиваемых реплик. Реплики обеспечивают масштабируемость чтения и поддерживают синхронизацию с основным узлом для гарантии согласованности данных. Redis Sentinel контролирует состояние экземпляров и организует автоматическое переключение при сбоях.
-
Cluster Mode: Распределённая архитектура, реализующая горизонтальное масштабирование за счёт шардирования данных по нескольким узлам Redis. Эта конфигурация обеспечивает повышенную пропускную способность чтения/записи, автоматическое переключение при сбоях и интеллектуальное распределение данных для оптимальной производительности и доступности в масштабных средах.
Sentinel Mode
Sentinel Mode реализует решение высокой доступности на основе нативной репликации master-replica в Redis. Подсистема Redis Sentinel непрерывно отслеживает состояние всех экземпляров Redis и автоматически повышает реплику до основного узла в случае сбоев, обеспечивая непрерывность сервиса. Ключевые характеристики включают:
- Простота эксплуатации: Архитектура предлагает простую реализацию и управление по сравнению с распределёнными кластерными решениями.
- Автоматическое переключение: Sentinel обеспечивает надёжный мониторинг состояния и автоматическое обнаружение сбоев с настраиваемыми порогами для повышения реплики до основного узла.
- Вертикальное масштабирование: Поддерживается вертикальное масштабирование ресурсов, однако горизонтальная масштабируемость ограничена, так как все операции записи должны направляться на основной узел.
- Устойчивость Sentinel: Для полной высокой доступности необходимо развернуть несколько экземпляров Sentinel, чтобы избежать появления Sentinel в качестве единой точки отказа.

Cluster Mode
Cluster Mode представляет собой комплексное распределённое решение Redis. С помощью протокола Redis Cluster система достигает горизонтального масштабирования, распределяя данные по нескольким узлам с использованием выделения хэш-слотов и алгоритмов консистентного хеширования для автоматического шардирования и ребалансировки данных. Ключевые характеристики включают:
- Высокая доступность: Архитектура реализует автоматическое обнаружение и восстановление после сбоев узлов, обеспечивая непрерывный доступ к данным.
- Динамическое масштабирование: Поддерживается добавление и удаление узлов во время работы с автоматической ребалансировкой данных для адаптации к изменяющимся нагрузкам.
- Распределение нагрузки: Реализуется интеллектуальное балансирование нагрузки по кластеру для предотвращения перегрузок и оптимального использования ресурсов.
- Распределение данных: Данные шардируются по нескольким узлам, что предотвращает ограничения памяти одного узла и позволяет поддерживать значительно большие общие объёмы данных.
- Сложность эксплуатации: Требуется понимание механизмов шардирования, принципов консистентного хеширования, стратегий миграции данных и управления топологией кластера.

Руководство по выбору архитектуры
* Redis Cluster имеет ограничения на операции с несколькими ключами, если ключи принадлежат разным хэш-слотам