Ho una API SOAP che desidero limitare l'accesso a una base Utente dopo che "x" molte chiamate sono state ricevute in "y" quantità di tempo.API Best practice per Throttling
Dopo aver cercato in giro, la considerazione # 1 (ovviamente) è considerare i parametri per quando limitare gli utenti. Tuttavia, non vedo molto in termini di best practice/esempi per che implementano la soluzione. Ho visto lo Leaky Bucket Method che ha senso. Devo credere che ci siano più idee là fuori però.
Qualsiasi altro utente su come è implementare la soluzione di limitazione? Le domande includono:
- Qualche framework fornisce funzionalità (ad es. Spring, ecc.) Per la regolazione in web apis?
- A me sembra necessario memorizzare le informazioni di accesso per utente. Come ridurre al minimo l'overhead del database per fare questo OGNI chiamata?
- Hai bisogno di accedere a un archivio dati per implementarlo?
Solo una nota che il secchio che perde è più mirato al traffico (non numerabile, che scorre il contenuto), dove per la formulazione di richiesta/frequenza delle chiamate si utilizzerà [Algoritmo token bucket] (https://en.wikipedia.org/wiki/Token_bucket). C'è solo una leggera differenza: il meccanismo è lo stesso, ma invece di versare acqua nel secchio, aggiungi token numerabili, che si adattano meglio alle richieste. – botchniaque