Antimodèle : utiliser des identifiants à cardinalité élevée dans les règles de quota

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation Apigee X.
info

La règle de quota permet de comptabiliser le nombre de requêtes reçues par un proxy d'API. Cette fonctionnalité permet aux fournisseurs d'API d'appliquer des limites sur le nombre d'appels d'API effectués par des applications sur un intervalle de temps donné.

La règle de quota peut inclure un élément identifier qui identifie le "bucket" de quota dans lequel chaque requête est comptabilisée.

Antimodèle

Lorsque vous utilisez la règle de quota, n'utilisez pas d'identifiants à cardinalité élevée.

La cardinalité fait référence au nombre de valeurs de données uniques dans un ensemble. Un identifiant à cardinalité élevée comporte un grand nombre de valeurs distinctes possibles. Les identifiants à cardinalité élevée incluent des ID de requête ou de session uniques qui changent à chaque appel d'API.

L'utilisation d'identifiants à cardinalité élevée peut nuire considérablement à l'efficacité de l'application de vos quotas.

Impact

L'utilisation d'identifiants à cardinalité élevée pour l'élément "identifier" de votre règlement sur les quotas entraîne les problèmes suivants :

  • Application inefficace des quotas : chaque identifiant unique est traité comme un compteur distinct. Si chaque requête possède un nouvel ID unique, votre système de quotas crée essentiellement un nouveau "bucket" pour chaque appel d'API. Cela signifie que votre limite de quota globale est mesurée par rapport à des compteurs individuels à usage unique plutôt qu'en fonction des groupes de requêtes réels que vous souhaitez limiter. La règle devient donc inutile pour le contrôle du trafic.
  • Augmentation de la consommation de ressources : la génération et la gestion d'un grand nombre de compteurs de quota uniques exercent une pression inutile sur la plate-forme Apigee, ce qui entraîne une augmentation de l'utilisation des ressources et des problèmes de performances potentiels.
  • Difficultés de surveillance : il devient difficile de surveiller et de comprendre les tendances de consommation réelles des API lorsque les données sont fragmentées sur un grand nombre d'identifiants uniques. Vous ne pourrez plus voir quelles applications, quels développeurs ou quels produits consomment vos ressources d'API.

Bonne pratique

Choisissez des identifiants dont la cardinalité est faible à moyenne, et qui représentent également un regroupement stable et pertinent pour l'application des quotas. Ils vous aident à gérer efficacement l'utilisation des API et à obtenir des insights sur votre trafic. Voici quelques exemples :

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

Avec des identifiants appropriés, votre règle de quota peut gérer plus efficacement le trafic d'API, éviter les dépassements involontaires et fournir des insights clairs sur les schémas d'utilisation.