Кэширование ответов и квоты использования

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Настройка кэширования ответов

  • При кэшировании ответов обращение к серверной части не требуется
  • Кэширование применяется к популярным эндпоинтам, часто возвращающим одни и те же данные
  • Обращения к эндпоинтам занимают время и обходятся дорого
  • Реализуется в APIM через политики кэширования

Кэширование ответов

Azure API Management

Настройка политик кэширования

  • Конфигурация политик кэширования позволяет:
    • Задать длительность кэша
    • Варьировать по строке запроса или заголовкам
    • Указать расположение кэша
  • Расположение кэша:
    • Edge — то есть шлюз API
    • Внешний сервис кэширования, например Redis

Политики кэширования

Azure API Management

Защита от всплесков запросов

Ограничение запросов

  • Даже при кэшировании большое число клиентов может перегрузить API
    • Снижение производительности
    • Рост затрат на ресурсы
    • В худшем случае — сбой системы (например, DDoS-атака)
Azure API Management

Как квоты использования защищают API

  • Ограничение числа вызовов за период
    • Защита от внезапных всплесков запросов
  • Защита от DDoS-атак
  • Экономия средств за счёт предотвращения избыточного использования

Azure API Management

Измерение использования ресурсов

Application Insights

  • Нельзя улучшить то, что не измеряешь

    • Подключите Application Insights для отслеживания метрик (например, задержки, выбросов)
  • Пример: вызов «GET Products»

    • Низкий процент попаданий в кэш при высоком трафике
    • Решение: увеличить длительность кэша (5 → 30 минут)
  • С помощью аналитики можно настраивать:

    • Длительность кэша
    • Пороги квот
    • Уровни сервиса для оптимального соотношения затрат и производительности
Azure API Management

Давайте потренируемся!

Azure API Management

Preparing Video For Download...