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

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

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

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

Антипаттерн

При использовании политики квот не используйте идентификаторы с высокой кардинальностью.

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

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

Влияние

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

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

Лучшая практика

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

  • имя.разработчика.приложения
  • клиент_идентификатор
  • apiproduct.name

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