Антипаттерн: использование идентификаторов с высокой кардинальностью в правилах квоты

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

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

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

Антипаттерн

При использовании правила "Квота" не применяйте идентификаторы с большим количеством элементов.

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

Использование идентификаторов с высокой кардинальностью может значительно снизить эффективность квоты.

Результат

Использование идентификаторов с высокой кардинальностью для элемента идентификатора в правилах квоты приводит к следующим последствиям:

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

Совет

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

  • developer.app.name
  • client_id
  • apiproduct.name

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