Поделиться через


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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Стандарт версии 2 | Премиум | Премиум версия 2 | Изолированный

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

Внимание

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

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

Снимок экрана: политики кэша в службе

В этой статье вы:

  • добавление кэширования ответов для API;
  • Убедитесь, что кэширование работает

Примечание.

Внутреннее кэширование недоступно на уровне потребления службы "Управление API Azure". Вместо этого вы можете использовать внешний кэш Redis для Azure. Можно также настроить внешний кэш на других уровнях служб Управление API.

Необходимые компоненты

Добавление политик кэширования

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

  1. Войдите на портал Azure.

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

  3. Выберите API-интерфейсы> в меню слева.

  4. Выберите API, для которого требуется настроить кэширование.

  5. В верхней части экрана выберите вкладку "Конструктор ".

  6. В разделе "Входящий трафик" выберите <значок /> :

    Снимок экрана: API-интерфейсы управления API на портале.

  7. В элементе inbound добавьте следующую политику:

    <cache-lookup vary-by-developer="false" vary-by-developer-groups="false">
        <vary-by-header>Accept</vary-by-header>
        <vary-by-header>Accept-Charset</vary-by-header>
        <vary-by-header>Authorization</vary-by-header>
    </cache-lookup>
    
  8. В элементе outbound добавьте следующую политику:

    <cache-store duration="20" />
    

    В этой политике duration указывается интервал истечения срока действия кэшированных ответов. Интервал составляет 20 секунд.

  9. Нажмите кнопку "Сохранить".

Совет

Если вы используете внешний кэш, как описано в разделе "Использование внешнего кэша Azure для Redis" в службе управления API Azure, может потребоваться указать caching-type атрибут политик кэширования. Дополнительные сведения см. в политиках кэширования управления API .

Вызов операции для проверки кэширования

Чтобы проверить кэширование, вызовите операцию на портале.

  1. Войдите в портал Azure и перейдите к вашему экземпляру службы управления API.
  2. Выберите API-интерфейсы> в меню слева.
  3. Выберите API, в который вы добавили политики кэширования.
  4. Выберите операцию для тестирования.
  5. Выберите вкладку "Тест" в верхней части окна.
  6. Выберите "Трассировка" два или три раза в быстром последовательности.
  7. В разделе HTTP-ответ выберите вкладку "Трассировка ".
  8. Перейдите к разделу "Входящие " и прокрутите страницу политики cache-lookup . Появится сообщение, аналогичное приведенному на следующем снимке экрана: снимок экрана с поиском кэша при тестировании API на портале.