Понимание различий: уровни "Базовый", "Стандартный" и "Премиум" по сравнению с управляемым кэшем Azure Redis

Перед миграцией ознакомьтесь с ключевыми различиями между кэшем Azure для Redis и Управляемым Redis Azure, чтобы можно было эффективно планировать.

Это важно

Навык агента по миграции Redis доступен, чтобы помочь ответить на вопросы, связанные с миграцией, и подготовить план миграции, адаптированный под вашу среду. Дополнительные сведения см. в разделе "Навык агента миграции Redis".

Почему Управляемый Redis Azure более производителен

Управляемый Redis Azure основан на стеке программного обеспечения Redis Enterprise, который обеспечивает значительные улучшения производительности по сравнению с Redis с открытым исходным кодом, используемым уровнями "Базовый", "Стандартный" и "Премиум". Redis Enterprise использует многопотоковую архитектуру, которая может обрабатывать больше операций в секунду, обеспечивать более низкую задержку и эффективнее использовать базовое оборудование. Это означает, что для того же объема памяти и вычислений Управляемый Redis Azure может обслуживать значительно более высокую пропускную способность по сравнению с эквивалентным кэшем уровня "Базовый", "Стандартный" или "Премиум".

Кроме того, Управляемый Redis Azure поддерживает расширенные структуры данных с помощью модулей Redis (например, RediSearch, RedisJSON и RedisBloom), которые недоступны на уровнях "Базовый", "Стандартный" или "Премиум". Дополнительные сведения об архитектуре см. в статье об архитектуре Управляемого Redis в Azure.

Основные различия особенностей/функциональности

Ниже приведены важные различия, которые следует учитывать при переходе с Базового, Стандартного или Премиум на Управляемый Redis Azure.

  • Структура SKU. Управляемый Redis Azure упорядочивает номера SKU по-разному от кэша Azure для Redis. Вместо SKU, основанных на уровнях (Базовый, Стандартный, Премиум), где функции зависят от уровня, SKU Azure Managed Redis основаны на двух измерениях: размер памяти и уровень производительности (балансированный, оптимизированный для памяти или оптимизированный для вычислений). Все функции высокого уровня доступности и аварийного восстановления (HADR), включая избыточность зоны, сохраняемость данных, георепликацию и импорт и экспорт, доступны на всех размерах и уровнях производительности. Вам больше не нужно выбирать номер SKU более высокого уровня, чтобы получить доступ к этим возможностям.

  • Высокая доступность против отсутствия высокой доступности. Управляемый Redis Azure предоставляет возможность развертывания с высоким уровнем доступности или без нее. Параметр, отличный от высокого уровня доступности, предназначен для непроизводственных и тестовых рабочих нагрузок, в которых требуется сократить затраты. Не-HA экземпляры не гарантируют SLA и могут привести к потере данных во время технического обслуживания. В отличие от этого, уровни "Базовый", "Стандартный" и "Премиум" не обеспечивают эту гибкость. Базовый уровень не имеет высокого уровня доступности, в то время как категория "Стандартный" и "Премиум" всегда включают ее.

  • Кластеризация. Управляемый Redis Azure кластеризован по умолчанию и предлагает две политики кластеризации — кластеризация OSS и корпоративная кластеризация. Рекомендуется выбрать кластеризацию OSS для оптимальной производительности. Если вы используете некластеризованный кэш "Базовый" или "Стандартный", конфигурация клиентской библиотеки Redis может потребовать изменений для работы с кластеризованным экземпляром (например, обработка MOVED перенаправлений с помощью клиентской библиотеки с поддержкой кластера). Если приложению требуется некластеризованный экземпляр, Управляемый Redis Azure предлагает некластеризованный режим для кэшей до 25 ГБ.

  • Сетевая изоляция. Управляемый Redis в Azure не поддерживает внедрение виртуальных сетей и настройку правил брандмауэра на основе IP-адресов. Если существующий экземпляр кэша Azure для Redis использует интеграцию с виртуальной сетью для изоляции сети, необходимо переключиться на использование Azure Private Link с новым управляемым экземпляром Redis в Azure.

  • Масштабирование. Управляемый Redis Azure поддерживает изменение размера памяти и уровня производительности.

  • Идентификатор Microsoft Entra. Обе службы поддерживают проверку подлинности Идентификатора Microsoft Entra. Однако в настоящее время Azure Managed Redis не поддерживает управление доступом на основе ролей (RBAC) для Microsoft Entra ID.

  • Запланированные обновления. Кэш Azure для Redis поддерживает настройку запланированного окна обновления для обновлений ядра Redis. Управляемый Redis Azure поддерживает запланированные обновления в настоящее время в предварительной версии.

  • Поддержка портов TLS и без TLS. В кэше Azure для Redis Basic, Standard и Premium один и тот же экземпляр кэша может одновременно поддерживать подключения TLS (порт 6380) и обычный текст (порт 6379), позволяя разным приложениям подключаться с помощью любого режима. В управляемом Redis в Azure кэш поддерживает только один режим за раз — TLS или не-TLS. После выбора режима во время создания кэша все приложения, подключающиеся к нему, должны использовать один и тот же режим.

  • Избыточность зоны. Управляемый Redis в Azure по умолчанию является зонально избыточным, если включена высокая доступность и регион поддерживает несколько зон доступности. Для сравнения, зональная избыточность доступна только для категории "Премиум" (и в режиме предварительного просмотра для категории "Стандарт").

  • Базы данных. Уровни "Базовый", "Стандартный" и "Премиум" поддерживают несколько баз данных Redis (до 16 по умолчанию, можно настроить до 64 на premium). Управляемый Redis Azure поддерживает только одну базу данных (базу данных 0). Если приложение использует несколько баз данных, необходимо рефакторинг модели данных для использования одной базы данных или использования префиксов ключей для логического разделения данных перед переносом.

  • Георепликация. Управляемый Redis Azure поддерживает активную георепликацию, которая позволяет выполнять операции чтения и записи в связанных кэшах в разных регионах. Уровень "Премиум" поддерживает только пассивные георепликации, где вторичный кэш доступен только для чтения. В отличие от Azure Cache для Redis, управляемый Redis в Azure не поддерживает явную команду переключения при отказе. Вместо этого ваше приложение должно переключиться на другой геореплицированный экземпляр Azure Managed Redis, если обнаружит, что один из регионов вышел из строя.

  • Сохраняемость данных. Azure Managed Redis поддерживает постоянство данных для всех SKU. В кэше Azure для Redis сохраняемость доступна только на уровне "Премиум".

  • Модули Redis. Управляемый Redis Azure поддерживает модули Redis, такие как RediSearch, RedisJSON, RedisBloom и RedisTimeSeries. Эти модули недоступны на уровнях "Базовый", "Стандартный" или "Премиум".

  • Импорт и экспорт. Azure Managed Redis поддерживает импорт и экспорт RDB во всех SKU. В кэше Azure для Redis эта функция доступна только на уровне "Премиум".

  • Уведомления о пространстве ключей. Уведомления пространства ключей поддерживаются в Azure Cache для Redis, но в настоящее время недоступны в Azure Управляемом Redis.

  • Reboot. Кэш Azure для Redis поддерживает перезагрузку узлов кэша вручную. Эта операция недоступна в Azure Managed Redis, который автоматически управляет операциями узлов. Если вы используете Reboot для очистки данных из кэша, то служба Azure Managed Redis предлагает операцию Flush в качестве операции управления. Управляемые API Redis Azure для имитации событий обслуживания для тестирования устойчивости ваших приложений находятся в плане развития.

Основные различия для клиентских приложений

Ознакомьтесь с этими различиями при планировании обновлений приложения:

Описание функции Кэш Azure для Redis Управляемый Redis в Azure
DNS-суффикс (для общедоступного облака Azure) .redis.cache.windows.net <region>.redis.azure.net
ПОРТ TLS 6380 10000
Порт, отличный от TLS 6379 10000
Порты TLS для отдельных узлов 13XXX 85xx
Отдельный порт, отличный от TLS 15XXX 85xx
Поддержка кластеризации Только кластеризация OSS Кластеризация OSS и Enterprise
Некластикционный или автономный Да (базовый, стандартный, премиум до 120 ГБ) Да (некластеризованный режим, только до 25 ГБ)
Версия Redis 6 7,4
Поддерживаемые версии протокола TLS 1.2 и 1.3 1.2 и 1.3

Выберите нужный размер Управляемого Redis в Azure и номер SKU

Выбор правильного номера SKU Управляемого Redis для Azure включает два шага: выбор нужного размера памяти и выбор нужного уровня производительности.

Шаг A. Выбор подходящего размера памяти

  1. Определите размер памяти текущего кэша. Перейдите на портал Azure, откройте кэш "Базовый", "Стандартный" или "Премиум" и запишите размер памяти на странице обзора (например, C3 = 13 ГБ, P2 = 13 ГБ).

Замечание

Для кластеризованных кэшей класса Premium: для сегментированных кластеров выберите размер, имеющий эквивалентную общую память для всех сегментов.

  1. Найдите аналогичный SKU в Azure Managed Redis. Ищите SKU управляемого Redis в Azure, который предлагает тот же или больший объем доступной памяти. При сравнении размеров обратите внимание, что Azure Managed Redis резервирует примерно 20% памяти для системных операций и издержек. Учитывайте это резервирование при выборе размера — например, SKU B10/M10/X10 предоставляют 12 ГБ общей памяти, но примерно 9,6 ГБ доступной памяти для ваших данных после резервирования.

  2. Оптимизация на основе фактического использования памяти. Вместо сопоставления размера номинального кэша просмотрите метрики используемой памяти в существующем кэше в Azure Monitor. Проверьте пиковое использование памяти за последний месяц, чтобы определить более подходящий номер SKU. Если фактическое использование памяти значительно ниже размера кэша, вы можете выбрать меньший, более экономичный SKU Управляемого Redis Azure.

Шаг B. Выбор подходящего уровня производительности

Управляемый Redis Azure предлагает три уровня производительности: Balanced, Memory Optimized и Compute Optimized. Выберите на основе характеристик рабочей нагрузки:

  • Баланс — хорошая отправная точка, если вы не уверены. Предлагает здоровое сочетание памяти и вычислений.
  • Оптимизировано для памяти — Выберите этот вариант, если ваша рабочая нагрузка требует много памяти и, вероятнее всего, столкнется с нехваткой памяти раньше, чем с нехваткой ЦП.
  • Вычислительно оптимизированные — выберите этот вариант, если ваша рабочая нагрузка требует высокой интенсивности передачи данных или чувствительна к задержке.

Дополнительные сведения см. в разделе "Выбор нужного уровня".

Дополнительные рекомендации

  • Отключите высокий уровень доступности для миграций уровня "Базовый". Если вы переносите кэш "Базовый" (который не имеет репликации или соглашения об уровне обслуживания (SLA)), отключите высокую доступность в новом управляемом экземпляре Redis в Azure. Это сокращает затраты и обеспечивает сравнимую настройку для рабочих нагрузок разработки и тестирования.

Следующий шаг