Антипаттерн: разрешить медленный бэкэнд

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

В бэкэнд-системах работают сервисы, к которым обращаются API-прокси. Другими словами, они являются основной причиной существования API и уровня прокси-серверов управления API.

Любой API-запрос, обрабатываемый через платформу Edge, проходит типичный путь, прежде чем попасть на серверную часть:

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

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

Антипаттерн

Рассмотрим случай проблемной серверной части. Возможны следующие варианты:

  • Недостаточно мощный бэкэнд
  • Медленная работа бэкэнда
  • Недостаточно мощный бэкэнд

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

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

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

    Медленная работа бэкэнда

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

    Платформа Edge предлагает несколько настраиваемых параметров для обхода и управления медленной работой бэкэнда. Однако эти параметры имеют ограничения.

    Влияние

    • В случае недостаточного размера бэкэнда увеличение трафика может привести к сбоям запросов.
    • В случае медленной работы бэкэнда задержка запросов увеличится.

    Передовая практика

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

    Дополнительная информация