2015-06-06 13 views
6

Esistono best practice per l'archiviazione/limitazione dell'utilizzo dell'API? Sto cercando di creare un'API di base utilizzando Laravel, ma quando cerco di pensare a limitare l'utilizzo giornaliero dell'API mi sto bloccando sull'approccio migliore.Limite utilizzo API

È possibile registrare ciascuna chiamata nel database e utilizzarla per aggregare le chiamate API totali per il giorno per determinare se il limite è stato raggiunto? Che dire delle richieste API simultanee? Se voglio limitare a 1 chiamata API ogni 5 secondi, è meglio fare una query di database e determinarla?

Qualsiasi consiglio sarebbe molto apprezzato!

risposta

3

Questa è una di quelle cose che mi piace lasciare a un provider esistente.

Per semplificare le cose, mettete qualcosa di fronte alla vostra API che ha la sola responsabilità di limitare i tassi e controllare i consumatori delle API. Questo è spesso fatto con un proxy API di qualche tipo.

3scale è una buona soluzione. È effettivamente Nginx con un modulo per fare tutto il sollevamento pesante. http://www.3scale.net/ È anche economico (o gratuito a seconda del carico).

Ci sono altri là fuori come Mashery, ma sinceramente ho avuto una terribile fortuna con Mashery da quando Intel li ha comprati. Problemi di risoluzione DNS, prezzi alle stelle, ecc.