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

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

La política de cuotas se usa para contar el número de solicitudes recibidas por un proxy de API. Esta función permite a los proveedores de APIs aplicar límites al número de llamadas a la API que realizan las aplicaciones durante un intervalo de tiempo.

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

Antipatrón

Cuando utilice la política de cuota, no use identificadores de cardinalidad elevada.

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

Usar identificadores de alta cardinalidad puede reducir significativamente la eficacia de la aplicación de tu cuota.

Impacto

Si usas identificadores de alta cardinalidad para el elemento "identifier" de tu política de cuota, se producirá 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, el sistema de cuotas crea un "contenedor" para cada llamada a la API. Esto significa que el límite de cuota general se mide en función de contadores individuales de un solo uso en lugar de en función de los grupos de solicitudes que quieras limitar, lo que hace que la política sea inútil para controlar el tráfico.
  • Aumento del consumo de recursos: generar y gestionar un gran número de contadores de cuota únicos ejerce una presión innecesaria sobre la plataforma Apigee, lo que provoca un aumento del uso de recursos y posibles problemas de rendimiento.
  • Problemas de monitorización: resulta difícil monitorizar y comprender las tendencias de consumo de las APIs cuando los datos están fragmentados en un gran número de identificadores únicos. Dejarás de poder ver qué aplicaciones, desarrolladores o productos consumen tus recursos de API.

Práctica recomendada

Elige identificadores con una cardinalidad de baja a media que también representen una agrupación estable y significativa para aplicar las cuotas. Te ayudan a gestionar el uso de las APIs de forma eficaz y a obtener información valiosa sobre tu tráfico. Estos son algunos ejemplos:

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

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