Qu’est-ce que la limitation du débit ?
La limitation du débit est un mécanisme de contrôle que les API cloud utilisent pour réguler le nombre de demandes qu’un utilisateur peut effectuer dans un laps de temps donné. Les producteurs d’API cloud utilisent la limitation du débit pour s’assurer que le flux de requêtes ne surcharge pas le service. La limitation du débit définit un plafond sur la vitesse et le volume des appels d’API, généralement définis en termes de demandes par période de temps.
Pourquoi les API cloud utilisent la limitation du débit
- Empêcher la surcharge. La limitation du débit garantit que le serveur d’API reste stable et réactif en empêchant tout utilisateur ou service unique de l’inonder de trop de requêtes.
- Garantir une utilisation équitable. La limitation du débit applique des stratégies d’utilisation équitable, garantissant qu’aucun utilisateur ne monopolise les ressources de l’API, ce qui permet un accès équitable à tous les utilisateurs.
- Sécurité. Il permet d’atténuer les attaques DDoS (déni de service distribué) et d’autres comportements abusifs en limitant le nombre de requêtes provenant de sources potentiellement malveillantes.
- Cost Management. Pour les fournisseurs de services cloud, la limitation du débit aide à gérer les coûts opérationnels en empêchant une utilisation imprévisible ou excessive des ressources.
- Qualité de service. En empêchant les pics de trafic, la limitation du débit garantit une qualité de service cohérente pour tous les utilisateurs.
Comment vous rencontrez la limitation du débit dans vos applications
Lorsque vous créez des applications qui intègrent des API cloud, case activée leur documentation pour vérifier si elles prennent en charge la limitation du débit. Si c’est le cas, vous recevez RateLimit-...
ou X-RateLimit-...
répondez des en-têtes avec des informations sur les limites de débit. Vous pouvez utiliser ces informations dans votre application pour vous assurer que vous ne dépassez pas les limites de débit de l’API. Par exemple, l’en-tête RateLimit-Remaining
indique le nombre de demandes restantes dans la fenêtre active. Si vous recevez une réponse avec cet en-tête défini sur 0, vous savez que vous avez atteint la limite de débit et que vous devez attendre la fenêtre suivante avant d’envoyer une autre requête. L’en-tête RateLimit-Reset
indique l’heure à laquelle la limite de débit est réinitialisée. N’oubliez pas que certaines API envoient les RateLimit-...
en-têtes uniquement une fois que vous avez atteint un seuil, par exemple, lorsque vous avez 10 % des demandes restantes.
Lorsque vous dépassez la limite de débit, l’API limite vos requêtes en retournant un code HTTP 429 (Trop de requêtes) status. Certaines API peuvent également envoyer un Retry-After
en-tête indiquant combien de temps vous devez attendre avant d’envoyer une autre demande.
Pour éviter la limitation et vous assurer que votre application reste réactive, vous devez implémenter la limitation du débit dans votre application. Selon votre pile technologique, il existe différentes bibliothèques qui vous aident à gérer la limitation du débit dans votre application. Une fois que vous avez implémenté la limitation de débit dans votre application, vérifiez si elle gère correctement la limitation de débit.