Использование внешнего кэша, совместимого с Redis, в службе управления API Azure

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

Использование внешнего кэша позволяет обойти ряд ограничений встроенного кэша:

  • избежать периодического очищения кэша при обновлении службы управления API;
  • получить больший контроль над конфигурацией кэша;
  • кэшировать больше данных, чем позволяет уровень службы управления API;
  • использовать кэширование на уровне "Потребление" службы управления API.
  • включать кэширование в самостоятельно размещенных шлюзах управления API

Дополнительные сведения о кэшировании приведены в статьях Политики кэширования в службе управления API и Пользовательское кэширование в службе управления API Azure.

Bring your own cache to APIM

Из этого руководства вы узнаете, как выполнять такие задачи:

  • Добавление внешнего кэша в службу управления API

Предварительные требования

Для работы с этим руководством вам потребуется следующее:

Создание кэша Azure для Redis

В этом разделе описано, как создать в Azure кэш Redis для Azure. Если у вас уже есть кэш Azure для Redis или другой совместимый с Redis кэш в Azure или за ее пределами, вы можете пропустить этот раздел.

  1. Чтобы создать кэш, войдите на портал Azure и выберите Создать ресурс.

    Create a resource is highlighted in the left navigation pane.

  2. На странице Создание выберите Базы данных, а затем Кэш Azure для Redis.

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. На странице Новый кэш Redis настройте параметры для нового кэша.

    Параметр Выбор значения Описание
    Подписка Раскройте список и выберите нужную подписку. В этой подписке будет создан новый экземпляр кэша Redis для Azure.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    DNS-имя Укажите уникальное имя. Имя кэша должно быть строкой длиной от 1 до 63 символов и содержать только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Именем узла для экземпляра кэша будет <DNS-имя>.redis.cache.windows.net.
    Расположение Откройте список и выберите расположение. Выберите оптимальный регион для других служб, которые будут использовать кэш.
    Тип кэша В раскрывающемся списке выберите уровень. Уровень определяет размер, производительность кэша и доступные функции. Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure".
  4. Выберите вкладку Сети или нажмите кнопку Сети в нижней части страницы.

  5. На вкладке Сети выберите способ подключения.

  6. Выберите вкладку Далее: дополнительно или нажмите в нижней части страницы кнопку Далее: дополнительно.

  7. На вкладке Дополнительно для экземпляра кэша уровня "Базовый" или "Стандартный" установите переключатель, чтобы включить порт, отличный от TLS. Вы также можете выбрать версию Redis, которую хотите использовать, например 4 или 6.

    Redis version 4 or 6.

  8. На вкладке Дополнительно для экземпляра кэша уровня "Премиум" настройте параметры для портов, отличных от TLS, а также кластеризацию и сохраняемость данных. Вы также можете выбрать версию Redis, которую хотите использовать, например 4 или 6.

  9. Выберите вкладку Далее: теги или нажмите в нижней части страницы кнопку Далее: теги.

  10. При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.

  11. Выберите Проверить и создать. Вы будете перенаправлены на вкладку "Просмотр и создание", где Azure проверит вашу конфигурацию.

  12. Когда отобразится сообщение "Проверка пройдена" зеленого цвета, выберите Создать.

На создание кэша требуется некоторое время. Вы можете отслеживать ход выполнения на странице обзорных сведений кэша Azure для Redis. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.

Развертывание кэша Redis в Kubernetes

Для самостоятельно размещенного шлюза кэширование требует внешнего кэша. Чтобы кэширование было эффективным, самостоятельно размещенный шлюз и используемый им кэш должны располагаться рядом друг с другом, чтобы задержки при поиске и сохранении данных были минимальными. Лучше всего развертывать кэш Redis в том же кластере Kubernetes или в отдельном кластере поблизости. Узнайте, как развернуть кэш Redis в кластере Kubernetes.

Добавление внешнего кэша

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

Screenshot that shows how to add an external Azure Cache for Redis in Azure API Management.

Параметр "Использовать из"

Параметр Использовать из в конфигурации задает расположение экземпляра службы управления API, который будет использовать кэш. Выберите один из следующих вариантов:

  • Регион Azure, в котором размещен экземпляр службы управления API (или одно из настроенных расположений в случае развертывания в нескольких регионах)

  • Расположение самостоятельно размещенного шлюза

  • По умолчанию, чтобы настроить кэш как значение по умолчанию для всех расположений шлюза в экземпляре службы управления API

    Кэш, используемый для значения по умолчанию, переопределяется кэшем, используемым для определенного соответствующего региона или расположения.

    Например, рассмотрим экземпляр службы управления API, размещенный в регионах "Восток США", "Юго-Восточная Азия" и "Западная Европа". Настроено два кэша, один— для значения По умолчанию, а другой — для Юго-Восточной Азии. В этом примере служба управления API в Юго-Восточной Азии будет использовать собственный кэш, а в двух других регионах будет использоваться запись кэша по умолчанию.

Примечание

Можно настроить один и тот же внешний кэш для нескольких экземпляров службы управления API. Экземпляры службы управления API могут находиться в одном или разных регионах. При совместном использовании кэша для нескольких экземпляров необходимо выбрать значение По умолчанию для параметра Использовать из.

Добавление кэша Redis для Azure из той же подписки

  1. Перейдите к экземпляру службы управления API на портале Azure.
  2. Выберите вкладку External cache (Внешний кэш) в меню слева.
  3. Нажмите кнопку + Добавить.
  4. В раскрывающемся поле Cache instance (Экземпляр кэша) выберите свой кэш.
  5. Выберите вариант По умолчанию или укажите нужный регион в поле с раскрывающимся списком Использовать из.
  6. Щелкните Сохранить.

Добавление совместимого с Redis кэша, размещенного вне текущей подписки Azure или полностью за пределами Azure

  1. Перейдите к экземпляру службы управления API на портале Azure.
  2. Выберите вкладку External cache (Внешний кэш) в меню слева.
  3. Нажмите кнопку + Добавить.
  4. В раскрывающемся поле Cache instance (Экземпляр кэша) выберите Custom (Настраиваемый).
  5. Выберите вариант По умолчанию или укажите нужный регион в поле с раскрывающимся списком Использовать из.
  6. В поле Строка подключения укажите строку подключения к кэшу Azure для Redis (или совместимому с Redis кэшу).
  7. Щелкните Сохранить.

Добавление кэша Redis к локальному шлюзу

  1. Перейдите к экземпляру службы управления API на портале Azure.
  2. Выберите вкладку External cache (Внешний кэш) в меню слева.
  3. Нажмите кнопку + Добавить.
  4. В раскрывающемся поле Cache instance (Экземпляр кэша) выберите Custom (Настраиваемый).
  5. Укажите желаемое расположение самостоятельно размещенного шлюза или значение По умолчанию в поле с раскрывающимся списком Использовать из.
  6. В поле Connection string (Строка подключения) укажите строку подключения к кэшу Redis.
  7. Щелкните Сохранить.

Использование внешнего кэша

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

Подробный пример см. в разделе Добавление кэширования в службу управления API Azure для повышения эффективности.

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