Sviluppo di prodotti SaaS

Che cos'è il Rate Limiting delle API SaaS?

Autore: Oleksandra Butenko, Copywriter

Revisionato da: Marta Dozorska, VP del Prodotto

Cos'è la limitazione della frequenza delle API SaaS

Che cos'è il Rate Limiting delle API SaaS?

L'API SaaS di un'applicazione basata su cloud limita il numero di chiamate API a un servizio per un determinato periodo per un dispositivo client, utente, IP, chiave o tenant. Il client è configurato per inviare un numero specifico di richieste. Questo tipo di limitazione API ha implicazioni per la capacità dell'infrastruttura di servizio, poiché aiuta anche a limitare l'accesso degli utenti e supporta la gestione della spesa cloud.

All'interno dei meccanismi di limitazione della frequenza (rate limiting), il monitoraggio dei messaggi ‘429 Too Many Requests’ è una pratica comune, che si verifica quando i server li trasmettono ai client dopo che la loro soglia di richieste è stata raggiunta. In molti casi, i server utilizzano l'intestazione “Retry-After” per informare i client sul ritardo raccomandato tra un nuovo tentativo di richiesta e l'altro.

Come funziona la limitazione della frequenza delle API (API Rate Limiting)?

Algoritmo Comportamento
Finestra fissa Semplice, ma può creare picchi ai confini della finestra
Finestra scorrevole Più equo, a costo di maggiore coordinazione e memoria
Token bucket Consente burst controllati pur imponendo una velocità media
Leaky bucket Regola l'output per la consistenza della velocità

In cosa differiscono il Rate Limiting e il throttling delle API?

Tecnica Per
Throttling Appianare i picchi
Limitazione della frequenza Garantire equità e proteggere le risorse condivise

 

Perché il Rate Limiting delle API è essenziale per i fornitori SaaS?

Ecco cosa fa specificamente il rate limiting:

  • È associato alla gestione di potenziali problemi operativi del sistema che possono derivare da un elevato volume di richieste provenienti da un'origine imprevista.
  • Previene attività come il web scraping o l'hacking a forza bruta.
  • Gestisce i costi derivanti dall'autoscaling o dall'utilizzo delle risorse da parte dei sistemi a valle.

Quali sono le best practice lato client per gestire i Rate Limits delle API?

  1. Seguire le istruzioni fornite negli header Retry-After.
  2. Provare il backoff esponenziale con una componente casuale.
  3. “Accodare” le richieste o distribuire il carico in caso di elevata concorrenza.
  4. È possibile implementare un token bucket per la gestione del traffico e delle code lato client per carichi di lavoro che richiedono ​‍​‌‍​‍‌parallelismo.
Tieni presente:

Il meccanismo di ritentativo è associato agli effetti di thundering-herd e all'affidabilità sotto carico.

Una soluzione tipica prevede vari livelli: API gateway, piattaforma di sicurezza edge e sistema di controllo dei servizi o delle quote. I seguenti modelli potrebbero essere applicabili:

  • Limiti per chiave
  • Limiti per tenant
  • Limiti specifici per endpoint
  • Piani a livelli
Nota:

Un approccio a livelli è spesso il migliore per il SaaS, la protezione edge, il throttling del gateway e le regole aziendali a livello di applicazione.

 

Come possono i fornitori SaaS comunicare efficacemente i ritardi del Rate Limit agli utenti?

Nei casi in cui il rate limiting contribuisca a un numero maggiore di contatti da parte dei clienti per il personale di supporto, è consigliabile spiegare la base delle limitazioni delle richieste. Si dovrebbe consigliare ai fornitori di:
· Utilizzare codici di stato HTTP distinti.
· Mostrare le intestazioni Retry-After e rate-limit.
· I limiti specificati nei documenti devono essere comunicati agli sviluppatori.
· Laddove fattibile, visualizzare le statistiche di utilizzo del cliente o la loro quota rimanente.

 

Tieni presente:

L'esperienza utente prevede messaggi di errore leggibili dall'uomo, metadati leggibili dalla macchina e un'opzione self-service per le richieste di aumento della quota.

Quali sono i limiti del Rate Limiting delle API e quali strategie complementari esistono?

La limitazione della frequenza gestisce abusi, costi ed equità, ma la sua efficacia nella risoluzione di problemi nei sistemi distribuiti può avere dei limiti. L'integrazione della limitazione della frequenza con altri controlli merita considerazione:

  • Quote
  • WAF o protezione dai bot
  • Autenticazione e idempotenza
  • Monitoraggio

 

Conclusione

Rate limiting SaaS API è una misura vitale utilizzata per salvaguardare infrastruttura cloud, mantenere il servizio attivo e disponibile e monitorare le operazioni. Questo metodo utilizza vari algoritmi con throttling e si basa sulla comunicazione con il client e sull'adeguamento corretto dei limiti.

Pronto per iniziare?

Siamo stati nella vostra stessa situazione. Condividiamo i nostri oltre 20 anni di esperienza e trasformiamo i vostri sogni globali in realtà.
Immagine a mosaico
it_ITItaliano