Throttling delle richieste API per migliorare le prestazioni - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Throttling delle richieste API per migliorare le prestazioni

È possibile configurare limitazioni e quote per le API per proteggerle da eventuali troppe richieste. Sia le limitazioni che le quote sono applicate sulla base del massimo sforzo e dovrebbero essere considerate come obbiettivi piuttosto che massimali garantiti delle richieste.

API Gateway limita la larghezza di banda della rete delle richieste nell'API mediante l'algoritmo di token bucket, dove un token rappresenta una richiesta. Nello specifico, API Gateway esamina il tasso e i picchi di invio di richieste per tutte le API dell'account, per regione. Nell'algoritmo di bucket token, un picco può consentire il superamento predefinito di tali limiti, ma anche altri fattori possono causare il superamento dei limiti in alcuni casi.

Quando le richieste inviate superano i limiti impostati per il tasso a regime e per i limiti di picco, API Gateway inizia a limitare le richieste. I clienti potrebbero ricevere risposte agli errori 429 Too Many Requests a questo punto. Quando rileva queste eccezioni, il client può reinviare le richieste non riuscite in modo da limitare la velocità.

In qualità di sviluppatore dell'API, puoi impostare i limiti di destinazione per le singole fasi o i singoli metodi dell'API per migliorare le prestazioni generali in tutte le API dell'account. In alternativa, puoi abilitare i piani di utilizzo per impostare limitazioni sugli invii di richieste al client in base a quote e tassi di richiesta specificati.

Come sono applicate le impostazioni del limite del throttling in API Gateway

Prima di configurare le impostazioni di limitazioni e quote per l'API, è bene capire come vengono applicate da Amazon API Gateway.

Amazon API Gateway fornisce due tipi base di impostazioni correlate alle impostazioni delle limitazioni:

  • AWS i limiti di limitazione vengono applicati a tutti gli account e i clienti di una regione. Queste impostazioni del limite servono a evitare di sovraccaricare l'API, e di conseguenza il tuo account, con troppe richieste. Questi limiti sono stabiliti AWS e non possono essere modificati da un cliente.

  • I limiti per account vengono applicati a tutte le API di un account in una regione specificata. Il limite del tasso a livello di account può essere aumentato - sono possibili limiti più elevati con API con timeout più brevi e payload più piccoli. Per richiedere un aumento dei limiti di limitazione a livello di account per Regione, contatta il Centro assistenza AWS. Per ulteriori informazioni, consulta Quote e note importanti Amazon API Gateway. Tieni presente che questi limiti non possono essere superiori ai limiti di AWS limitazione.

  • I limiti di throttling per API e per fase vengono applicati a livello di metodo API per una fase. È possibile configurare le stesse impostazioni per tutti i metodi o configurare impostazioni di throttling diverse per ciascun metodo. Tieni presente che questi limiti non possono essere superiori ai limiti di AWS limitazione.

  • Limiti di throttling per client vengono applicati ai client che utilizzano le chiavi API associate al piano di utilizzo come identificatore client. Ricorda che questi limiti non possono essere più alti dei limiti per account.

Le impostazioni correlate al throttling di API Gateway vengono applicate nell'ordine seguente:

Limitazione a livello di account per regione

Per impostazione predefinita, API Gateway limita il numero di richieste con stato costante al secondo (RPS) per tutte le API all'interno di un account AWS , per Regione. Limita anche i picchi, ovvero la dimensione massima del bucket, per tutte le API di un account AWS , per regione. In API Gateway, il limite dei picchi rappresenta il numero massimo di invii di richieste che API Gateway può gestire prima di restituire risposte di errore 429 Too Many Requests. Per ulteriori informazioni sulla limitazione delle quote, vedere Quote e note importanti Amazon API Gateway.

Configurazione del throttling a livello di API e destinazioni delle limitazioni a livello di fase in un piano di utilizzo

In un piano di utilizzo puoi impostare una destinazione della limitazione (della larghezza di banda della rete) per tutti i metodi a livello di API o di fase. È possibile specificare una velocità di limitazione (della larghezza di banda della rete)ovvero la frequenza, in richieste al secondo, con cui i token vengono aggiunti al bucket di token. È anche possibile specificare un burst di limitazione (della larghezza di banda della rete), ovvero la capacità del bucket di token.

Puoi utilizzare la AWS CLI, gli SDK e AWS Management Console per creare un piano di utilizzo. Per ulteriori informazioni su come creare un piano di utilizzo, consulta. Creazione e utilizzo dei piani di utilizzo con chiavi API

Configurazione delle destinazioni di limitazione della larghezza di banda della rete a livello di fase

Puoi utilizzare la AWS CLI, gli SDK e il AWS Management Console per creare obiettivi di throttling a livello di stage.

Per ulteriori informazioni su come utilizzare per creare obiettivi di limitazione a livello di fase, AWS Management Console consulta. Aggiornamento delle impostazioni della fase Per ulteriori informazioni su come utilizzare la AWS CLI per creare obiettivi di throttling a livello di fase, consulta create-stage.

Configurazione delle destinazioni della limitazione a livello di metodo in un piano di utilizzo

Puoi impostare destinazioni della limitazione aggiuntive a livello di metodo in Usage Plans (Piani di utilizzo) come mostrato in Creazione di un piano di utilizzo. Nella console API Gateway, questi vengono impostati specificando Resource=<resource>, Method=<method> nell'impostazione Configure Method Throttling (Configurazione del throttling). Ad esempio, ad esempio, è possibile specificare,. PetStore Resource=/pets Method=GET