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.

I criteri per le quote possono includere un identifier elemento che identifica il "bucket" delle quote in cui viene conteggiata ogni richiesta.

Antipattern

Quando utilizzi i criteri per le quote, 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 ad alta cardinalità includono ID richiesta univoci o ID sessione 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 ad alta cardinalità per l'elemento identificatore dei criteri per le quote causa:

  • Applicazione delle quote inefficace: 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 i criteri inutili per il controllo del traffico.
  • Aumento del consumo di risorse: la generazione e la gestione di un numero elevato di contatori di quote univoci esercita una pressione non necessaria sulla piattaforma Apigee, con conseguente aumento dell'utilizzo delle risorse e potenziali problemi di prestazioni.
  • Difficoltà 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 univoci. Perdi la possibilità di vedere quali applicazioni, sviluppatori o prodotti consumano le risorse API.

Best practice

Scegli identificatori con cardinalità da bassa a media che rappresentino anche un raggruppamento stabile e significativo per l'applicazione delle quote. In questo modo puoi gestire in modo efficace l'utilizzo delle API e ottenere informazioni dettagliate sul traffico. Ecco alcuni esempi:

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

Con identificatori appropriati, i criteri per le quote possono gestire in modo più efficace il traffico API, impedire superamenti involontari e fornire informazioni chiare sui pattern di utilizzo.