Antipattern: utilizzare identificatori con cardinalità elevata nei criteri per le quote

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

I criteri per le quote vengono utilizzati per conteggiare il numero di richieste ricevute da un proxy API. Questa funzionalità consente ai fornitori di API di applicare limiti al numero di chiamate API effettuate dalle app in un intervallo di tempo.

Le norme relative alle quote possono includere un elemento identifier che identifica il "bucket" di quota in cui viene conteggiata ogni richiesta.

Antipattern

Quando utilizzi il criterio Quota, non utilizzare identificatori ad alta cardinalità.

La cardinalità si riferisce al numero di valori di dati univoci in un insieme. Un identificatore con cardinalità elevata ha un numero elevato di valori possibili distinti. Gli identificatori con cardinalità elevata includono ID richiesta o ID sessione univoci che cambiano a ogni chiamata API.

L'utilizzo di identificatori ad alta cardinalità può compromettere in modo significativo l'efficacia dell'applicazione delle quote.

Impatto

L'utilizzo di identificatori con cardinalità elevata per l'elemento identificatore della norma relativa alla quota causa:

  • Applicazione inefficace della quota:ogni identificatore univoco viene trattato come un contatore separato. Se ogni richiesta ha un ID nuovo e univoco, il sistema di quote crea essenzialmente un nuovo "bucket" per ogni chiamata API. Ciò significa che il limite di quota complessivo viene misurato in base a contatori individuali monouso anziché in base a gruppi effettivi di richieste che vuoi limitare, rendendo il criterio inutile per il controllo del traffico.
  • Maggiore consumo di risorse:la generazione e la gestione di un numero elevato di contatori di quota unici esercitano una pressione non necessaria sulla piattaforma Apigee, con conseguente aumento dell'utilizzo delle risorse e potenziali problemi di prestazioni.
  • Sfide di monitoraggio:diventa difficile monitorare e comprendere le tendenze di consumo effettive delle API quando i dati sono frammentati in un numero elevato di identificatori unici. Perdi la possibilità di vedere quali applicazioni, sviluppatori o prodotti consumano le tue risorse API.

Best practice

Scegli identificatori con cardinalità da bassa a media che rappresentino anche un raggruppamento stabile e significativo per l'applicazione della quota. Questi ti aiutano a gestire in modo efficace l'utilizzo delle API e ottenere informazioni sul tuo traffico. Ecco alcuni esempi:

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

Con gli identificatori appropriati, la tua norma relativa alla quota può gestire in modo più efficace il traffico API, prevenire superamenti involontari e fornire informazioni chiare sui modelli di utilizzo.