Cloud Endpoints fornisce quote che consentono di controllare la frequenza con cui le applicazioni possono chiamare l'API. L'impostazione di una quota consente di specificare limiti di utilizzo per proteggere l'API da un numero eccessivo di richieste provenienti dalle applicazioni chiamanti. Le richieste eccessive potrebbero essere state causate da un semplice errore di battitura o da un sistema progettato in modo inefficiente che effettua chiamate inutili alla tua API. Indipendentemente dalla causa, bloccare il traffico da una sorgente una volta raggiunto un determinato livello è necessario per la salute complessiva dell'API. Impostando una quota, ti assicuri che un'applicazione non possa influire negativamente su altre applicazioni che utilizzano la tua API.
Questa pagina fornisce una panoramica delle funzionalità chiave fornite dalle quote.
Le richieste sono associate al progetto del consumatore
Dopo aver configurato una quota, Endpoints monitora il numero di richieste al minuto per progetto Google Cloud consumer. Ogni applicazione che chiama la tua API deve:
- Avere un Google Cloud progetto.
- Abilitato l'API nel suo progetto Google Cloud .
- Invia una chiave API con ogni richiesta all'API. In questo modo, Endpoints può identificare il progettoGoogle Cloud a cui è associata l'applicazione chiamante e incrementare il contatore delle richieste per il progetto Google Cloud .
Puoi chiedere ai consumatori dell'API di creare i propri progetti nella consoleGoogle Cloud oppure puoi creare i progetti per loro. Poiché Endpoints applica le quote per progetto, devi avere un progetto per ogni consumer API.
Limita il numero di richieste al minuto
Impostando una quota, puoi limitare il numero di richieste al minuto all'intera API o solo a metodi specifici. Se il codice client di un progetto consumer supera il limite che hai configurato, la richiesta viene rifiutata prima di raggiungere la tua API e viene restituito un codice di stato HTTP 429 too many
requests
. Le applicazioni
di chiamata dovranno gestire il codice di stato 429
e utilizzare il backoff
esponenziale o un'altra logica
di ripetizione per ridurre la frequenza delle chiamate all'API.
Configura una o più quote
Puoi configurare una o più quote denominate e specificare un limite di frequenza diverso per ciascuna quota. Ad esempio, potresti avere alcuni metodi nella tua API che richiedono molte risorse (ad esempio un metodo che esegue una query complessa e restituisce un elenco di risultati di grandi dimensioni) e altri metodi veloci e leggeri. Potresti configurare due quote con limiti di frequenza diversi e associare i metodi che richiedono molte risorse a una quota e i metodi leggeri all'altra quota.
Configurare un costo
Quando associ un metodo a una quota, devi sempre specificare un costo per la richiesta. Ciò consente a metodi diversi di consumare la stessa quota a velocità diverse. Puoi utilizzare i costi come alternativa alla configurazione di quote diverse. Ad esempio, supponi di configurare una quota con un limite di 1000 richieste al minuto. Per i metodi leggeri, configuri un costo pari a 1, il che significa che i client possono chiamare i metodi leggeri 1000 volte al minuto. Per i metodi che richiedono molte risorse, configuri un costo di 2, il che significa che ogni volta che il client chiama il metodo, il contatore delle richieste viene incrementato di 2, fino al raggiungimento del limite di 1000. In effetti, questo limita i metodi che richiedono molte risorse a 500 richieste al minuto.
Eseguire l'override della quota configurata
La pagina Endpoints > Servizi mostra la quota configurata per ogni metodo dell'API. Se necessario, puoi eseguire l'override del limite configurato per un progetto consumer specifico. Per impostare un override, devi inserire il numero di progetto del progetto consumer nella pagina Endpoint > Servizi. Se non hai accesso al progetto consumer che vuoi ignorare, devi contattare qualcuno che abbia accesso per ottenere il numero di progetto.