Confronto tra i criteri di quota e SpikeArrest

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Criteri Quota e SpikeArrest: non sai quale utilizzare per soddisfare al meglio le tue esigenze di limitazione della frequenza? Consulta la tabella di confronto riportata di seguito.

Quota SpikeArrest
Utilizzalo per: Limita il numero di connessioni che le app possono effettuare al backend di destinazione del proxy API in un determinato periodo di tempo. Proteggi il backend di destinazione del proxy API da picchi di traffico gravi e attacchi di tipo denial of service.
Non utilizzarlo per:

Non utilizzarlo per proteggere il backend di destinazione del proxy API dagli picchi di traffico.

A tale scopo, utilizza il criterio SpikeArrest.

Non utilizzarlo per conteggiare e limitare il numero di connessioni che le app possono effettuare al backend di destinazione del proxy API in un determinato periodo di tempo.

A questo scopo, utilizza il criterio Quota.

Memorizza un conteggio? No
Best practice per l'attacco del criterio:

Allegalo al PreFlow della richiesta ProxyEndpoint, in genere dopo l'autenticazione dell'utente.

In questo modo, il criterio può controllare il contatore delle quote nel punto di contatto del proxy API.

Collegalo al PreFlow della richiesta ProxyEndpoint, in genere all'inizio del flusso.

In questo modo viene fornita una protezione contro i picchi nel punto di contatto del proxy API.

Codice di stato HTTP quando viene raggiunto il limite:

500 (errore interno del server) *

500 (errore interno del server) *

Buono a sapersi:
  • Il contatore delle quote è archiviato in Cassandra.
  • Configura il criterio per sincronizzare il contatore in modo asincrono per risparmiare risorse.
  • La sincronizzazione asincrona del contatore può causare un ritardo nella risposta del limite di frequenza, il che potrebbe consentire chiamate leggermente superiori al limite impostato.
  • Esegue la limitazione in base all'ora in cui è stato ricevuto l'ultimo traffico. Questo valore viene archiviato per ogni elaboratore di messaggi.
  • Se specifichi un limite di frequenza di 100 chiamate al secondo, nel processore di messaggi sarà consentita solo una chiamata ogni 1/100 di secondo (10 ms). Una seconda chiamata entro 10 ms verrà rifiutata.
  • Anche con un limite di frequenza elevato al secondo, le richieste quasi simultanee possono comportare il rifiuto.
Per ulteriori dettagli: Criteri per le quote Criterio SpikeArrest

* Per i criteri di quota e i criteri di arresto picco, il codice di stato HTTP predefinito per il superamento del limite di frequenza è un valore generico 500 Internal Server Error. Puoi modificare il codice di stato di questi criteri in 429 Too Many Requests aggiungendo una proprietà a livello di organizzazione (features.isHTTPStatusTooManyRequestEnabled). Se sei un cliente Cloud, contatta l'assistenza Apigee Edge per attivare la proprietà.