Comparer les règles sur les quotas et SpikeAlert

Vous consultez la documentation Apigee Edge.
Consulter la documentation d'Apigee X
en savoir plus

Règles de quota et de SpikeArrest : vous vous demandez laquelle utiliser pour répondre le mieux à vos besoins de limitation du débit ? Consultez le graphique comparatif ci-dessous.

Quotas SpikeArrest
Utilisez-la pour : Limiter le nombre de connexions que les applications peuvent établir avec le backend cible de votre proxy d'API sur une période donnée. Protéger le backend cible de votre proxy d'API contre les pics de trafic graves et les attaques par déni de service.
Ne l'utilisez pas pour :

Ne l'utilisez pas pour protéger le backend cible de votre proxy d'API contre les pics de trafic.

Utilisez pour cela la règle SpikeArrest.

Ne l'utilisez pas pour compter et limiter le nombre de connexions que les applications peuvent établir avec le backend cible de votre proxy d'API sur une période donnée.

Pour cela, utilisez la règle de quota.

Stocke un décompte ? Oui Non
Bonnes pratiques pour associer la règle :

Associez-la au PreFlow de requête ProxyEndpoint, généralement après l'authentification de l'utilisateur.

Cela permet à la règle de vérifier le compteur de quotas au niveau du point d'entrée du proxy d'API.

Associez-la au PreFlow de requête ProxyEndpoint, généralement au tout début du flux.

Cela offre une protection contre les pics au niveau du point d'entrée du proxy d'API.

Code d'état HTTP une fois la limite atteinte :

500 Erreur interne du serveur.*

500 Erreur interne du serveur.*

Bon à savoir :
  • Le compteur de quota est stocké dans Cassandra.
  • Configurez la règle afin de synchroniser le compteur de manière asynchrone pour enregistrer des ressources.
  • La synchronisation asynchrone du compteur peut entraîner un retard dans la réponse de limitation du débit, ce qui peut provoquer un nombre d'appels légèrement supérieur à la limite que vous avez définie.
  • La limitation est effectuée en fonction de l'heure à laquelle le dernier trafic a été reçu. Cette durée est stockée par processeur de messages.
  • Si vous spécifiez une limitation du débit de 100 appels par seconde, un seul appel toutes les 1/100 secondes (10 ms) sera autorisé sur le processeur de messages. Un deuxième appel se produisant dans les 10 ms qui suivent sera refusé.
  • Même avec une limitation du débit élevée par seconde, les requêtes simultanées peuvent entraîner des rejets.
En savoir plus : Règles relatives aux quotas Règle SpikeArrest

* Pour la règle de quota et la règle d'arrêt des pics, le code d'état HTTP par défaut pour le dépassement de la limitation du débit est une valeur 500 Internal Server Error générique. Vous pouvez remplacer le code d'état de ces règles par 429 Service Unavailable en ajoutant une propriété au niveau de l'organisation (features.isHTTPStatusTooManyRequestEnabled). Si vous êtes un client Cloud, contactez l'assistance Apigee Edge pour activer la propriété.