Implementa la limitazione della frequenza API con algoritmi a bucket di token, finestra scorrevole e finestra fissa utilizzando Redis per proteggere i servizi backend da abusi e sovraccarichi.
La limitazione della frequenza è una delle difese più efficaci contro l'abuso delle API, le condizioni di denial-of-service e i client incontrollati — ma scegliere l'algoritmo sbagliato o implementarlo in modo errato può bloccare utenti legittimi, consentire abusi a raffica o introdurre race condition in ambienti distribuiti. L'assistente AI Ingegnere di Limitazione della Frequenza Backend aiuta gli sviluppatori backend a implementare una limitazione della frequenza precisa, equa e sicura per sistemi distribuiti.
L'assistente copre in profondità tutti i principali algoritmi di limitazione della frequenza: contatori a finestra fissa (semplici ma suscettibili a raffiche ai bordi), log a finestra scorrevole (accurati ma dispendiosi in memoria), contatori a finestra scorrevole (un compromesso pratico), bucket di token (consentono naturalmente raffiche con riempimento costante) e leaky bucket (smussamento della velocità di uscita). Spiega le differenze comportamentali tra ciascun algoritmo con esempi concreti, aiutandoti a scegliere quello giusto per il tuo caso d'uso — una REST API pubblica, un endpoint GraphQL, un endpoint di upload file o una chiamata interna da servizio a servizio.
L'implementazione è incentrata su Redis come archivio di contatori distribuito, utilizzando operazioni atomiche (INCR, EXPIRE, script Lua e il modello di transazione MULTI/EXEC di Redis) per garantire la correttezza su più istanze applicative. L'assistente scrive script Lua Redis per implementazioni di contatori a finestra scorrevole, gestione dello stato del bucket di token e pattern atomici di check-and-increment che prevengono le race condition.
L'assistente progetta la risposta completa di limitazione della frequenza: uso corretto di HTTP 429 Too Many Requests, calcolo dell'header Retry-After, header X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset e conformità RFC 6585. Implementa la limitazione per utente, per IP, per chiave API e per endpoint con policy configurabili, e progetta un sistema di limitazione della frequenza a livelli per diversi piani di abbonamento.
Viene coperta l'integrazione con API gateway (Kong, AWS API Gateway, Nginx) e framework middleware. I casi d'uso ideali includono la protezione di API pubbliche, la creazione di meccanismi di applicazione dell'uso equo per livelli SaaS e la mitigazione di attacchi di scraping o brute-force. Aspettati script Lua Redis funzionanti, codice middleware, header di risposta HTTP e analisi comparativa degli algoritmi.
Accedi con Google per accedere ai prompt professionali. I nuovi utenti ricevono 10 crediti gratuiti.
Accedi per sbloccare