Partager via


Comment gérer la limitation du débit

La limitation du débit est une technique courante utilisée par les fournisseurs d’API pour gérer le nombre de demandes qui peuvent être adressées à leur service pendant une période spécifique. Les fournisseurs d’API utilisent la limitation du débit pour s’assurer que leur service reste disponible et réactif à tous les utilisateurs, et pour éviter les abus ou surutilisation du service.

Lorsque vous utilisez des API cloud dans votre application, vous devez comprendre leurs limites de débit. Les techniques suivantes peuvent vous aider à gérer la limitation du débit dans vos applications :

  • Comprendre les limites de débit. Consultez la documentation de l’API que vous utilisez pour comprendre ses limites de débit. Les limites de débit peuvent dépendre du fournisseur d’API ou du plan de service que vous utilisez. Par exemple, certaines API peuvent avoir des limites de taux différentes pour les plans gratuits et payants.
  • Utilisez les informations de limitation de débit. Les API qui utilisent des limites de débit communiquent généralement les limites de débit actuelles dans les en-têtes de réponse. Par exemple, l’en-tête RateLimit-Remaining indique le nombre de requêtes qui restent 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 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. Certaines API envoient les RateLimit-... en-têtes uniquement après avoir atteint un seuil. C’est le cas, par exemple, lorsqu’il vous reste 10 % des demandes.
  • Optimiser l’utilisation de l’API. Certains services attribuent différents coûts à différentes demandes en fonction de leur complexité. Par exemple, certaines API peuvent facturer davantage pour les demandes qui retournent plus de données. Pour réduire le coût de votre application, optimisez l’utilisation de votre API en récupérant uniquement les données dont vous avez besoin. Utilisez des requêtes par lots si l’API les prend en charge. Ils vous aident à réduire le nombre de ressources nécessaires pour traiter la réponse et à respecter les limites de débit.
  • Implémentez un limiteur de débit local. Implémentez un limiteur de débit dans l’application lui-même pour limiter le nombre de requêtes pouvant être adressées à l’API dans une période spécifique. Vous pouvez le faire en utilisant des techniques telles que les algorithmes de seau à jetons ou de seau percé, qui permettent à l’application d’effectuer de nombreuses requêtes par période de temps. Toute demande supplémentaire est mise en file d'attente ou ignorée.
  • Évitez de dépasser les limites de débit. Lorsque vous dépassez les limites de débit, l’API restreint toutes les demandes suivantes qui renvoient généralement un code d’état HTTP 429 Too Many Requests. En règle générale, le throttling affecte le débit de votre application plus que la limitation du débit. Utilisez les informations exposées dans les en-têtes de réponse des limites de débit pour respecter les limites de débit et éviter le bridage.

En utilisant ces techniques, vous pouvez créer des applications résilientes à la limitation du débit et continuer à fonctionner même lorsque l’API est sous une charge importante.

Étape suivante