Antipatrón: Usa identificadores de alta cardinalidad en las políticas de cuotas

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

La política de cuotas se usa para contar la cantidad de solicitudes recibidas por un proxy de API. Esta capacidad permite que los proveedores de API apliquen límites a la cantidad de llamadas a la API que realizan las aplicaciones en un intervalo de tiempo.

La política de cuotas puede incluir un identifier elemento que identifica el "bucket" de cuota en el que se cuenta cada solicitud.

Antipatrón

Cuando uses la política de cuotas, no uses identificadores de alta cardinalidad.

La cardinalidad se refiere a la cantidad de valores de datos únicos en un conjunto. Un identificador con alta cardinalidad tiene una gran cantidad de valores posibles distintos. Los identificadores de alta cardinalidad incluyen IDs de solicitud o IDs de sesión únicos que cambian con cada llamada a la API.

El uso de identificadores de alta cardinalidad puede socavar significativamente la eficacia de la aplicación de la cuota.

Impacto

El uso de identificadores de alta cardinalidad para el elemento identifier de tu política de cuotas provoca lo siguiente:

  • Aplicación de cuotas ineficaz: Cada identificador único se trata como un contador independiente. Si cada solicitud tiene un ID nuevo y único, tu sistema de cuotas crea esencialmente un "bucket" nuevo para cada llamada a la API. Esto significa tu límite de cuota general se mide en función de contadores individuales de un solo uso en lugar de grupos reales de solicitudes que deseas limitar, lo que hace que la política sea inútil para el control de tráfico.
  • Mayor consumo de recursos: Generar y administrar una gran cantidad de contadores de cuotas únicos ejerce una presión innecesaria sobre la plataforma de Apigee, lo que genera un mayor uso de recursos y posibles problemas de rendimiento.
  • Desafíos de supervisión: Se vuelve difícil supervisar y comprender las tendencias reales de consumo de la API cuando los datos se fragmentan en grandes cantidades de identificadores únicos. Pierdes la capacidad de ver qué aplicaciones, desarrolladores o productos consumen tus recursos de la API.

Práctica recomendada

Elige identificadores con cardinalidad baja a media que también representen una agrupación estable y significativa para la aplicación de cuotas. Esto te ayuda a administrar el uso de la API de manera eficaz y a obtener estadísticas sobre tu tráfico. Los siguientes son algunos ejemplos:

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

Con los identificadores adecuados, tu política de cuotas puede administrar de manera más eficaz el tráfico de la API, evitar excesos no deseados y proporcionar estadísticas claras sobre los patrones de uso.