Введение
Введение в Redis OSS
Redis OSS — это открытая система хранения структур данных в памяти, поддерживающая различные структуры данных (такие как строки, хэши, списки, множества, отсортированные множества и др.) и предоставляющая функции, такие как сохранение данных, высокая доступность и распределённый кластер. Благодаря высокой производительности и низкой задержке Redis широко используется в сценариях кэширования, очередей сообщений и анализа данных в реальном времени. Основные режимы развертывания включают:
- Standalone: Развертывание на одном узле, подходит для разработки и тестирования.
- Sentinel: Архитектура высокой доступности на основе Sentinel, обеспечивающая автоматическое переключение и мониторинг.
- Cluster: Распределённый шардированный кластер, поддерживающий горизонтальное масштабирование и автоматическое распределение данных.
Введение в Alauda Cache Service для Redis OSS
Alauda Cache Service для Redis OSS построен на Kubernetes (K8s) и использует несколько кастомных контроллеров (Operators), специально разработанных для упрощения управления жизненным циклом экземпляров Redis в кластерах Kubernetes. Он расширяет API Kubernetes, предоставляя декларативную конфигурацию и автоматизированные возможности эксплуатации и обслуживания, что позволяет пользователям эффективно развертывать и управлять кластерами Redis в облачно-нативном стиле, обеспечивая стабильность и масштабируемость в производственной среде.
Ключевые особенности
-
Поддержка нескольких архитектур
- Поддерживает режимы развертывания Standalone, Sentinel и Cluster, охватывая потребности разработки, тестирования и производства.
-
Поддерживаемые версии
- Redis
5.0,6.0,7.2.
- Redis
-
Контроль доступа и безопасность
- Поддержка шифрования TLS.
- Интеграция Redis ACL (список контроля доступа), поддержка тонкого управления правами пользователей (не поддерживается в Redis 5.0).
-
Сетевые и методы доступа
- Поддержка типов сервисов NodePort и LoadBalancer с возможностью указания портов NodePort.
- Совместимость с сетевыми окружениями IPv4 и IPv6.
-
Эластичное масштабирование
- Поддержка горизонтального масштабирования онлайн (в режиме Cluster) и вертикальной настройки ресурсов без простоя.
-
Обновление версий и высокая доступность
- Механизм плавного обновления версий для обеспечения непрерывности сервиса.
- Обеспечение высокой доступности в производственной среде с помощью мульти-репликации и автоматического восстановления после сбоев.
-
Настраиваемые политики планирования
- Поддержка NodeSelector, Toleration и Affinity для гибкого управления логикой планирования Pod.
-
Автоматизированные возможности эксплуатации и обслуживания
- Пошаговое масштабирование: изменение количества шардов или реплик на основе конфигурации с автоматическим перераспределением данных (Cluster) или отношениями мастер-слейв (Sentinel).
- Обновления без простоя: поочерёдная замена и синхронизация данных на каждом узле для обеспечения непрерывности сервиса.
- Горячее обновление конфигурации: автоматическая подстановка новых конфигураций после изменения ConfigMap без перезапуска экземпляров.