Come un Limite di Frequenza Decide se la Tua Richiesta Verrà Eseguita
Un limite di frequenza stabilisce quante richieste un client può inviare in un dato intervallo e restituisce un errore 429 una volta superato. Questo limite esiste per impedire che un singolo client consumi una capacità destinata a tutti, ed è per questo che la risposta corretta è rallentare, piuttosto che inviare immediatamente la stessa richiesta.
Ritentare immediatamente è esattamente ciò che fanno la maggior parte delle prime integrazioni, trasformando un rifiuto temporaneo in uno prolungato. Il client raggiunge il limite, ritenta, estende l'intervallo di misurazione e finisce per essere rallentato molto più a lungo di quanto richiesto dal picco originale, solitamente mentre uno sviluppatore conclude che l'API non è affidabile. Sono volutamente escluse le configurazioni dei tuoi limiti: soglie per livello, permessi di burst e gli endpoint con limiti più stringenti appartengono alla documentazione versionata, non a un video che invecchia rapidamente.
Il template segue una richiesta attraverso otto scene: una sul perché esistono i limiti, una sull'intervallo e come viene conteggiato, una su cosa contiene una risposta 429, due sul backoff e perché il ritardo deve aumentare, una sul jitter e il 'thundering herd', una sulla lettura degli header dei limiti di frequenza e una sulla progettazione per raggiungere raramente il limite.

