Partager via


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églementer le nombre de demandes qu’un utilisateur peut effectuer dans un délai 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 une limite sur la vitesse et le volume des appels d’API, généralement définis en termes de requêtes par période.

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 avec trop de requêtes.
  • Assurez-vous que l’utilisation est équitable. La limitation du débit applique des stratégies d’utilisation équitable, garantissant qu’aucun utilisateur unique 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.
  • Gestion des coûts Pour les fournisseurs de services cloud, la limitation des débits aide à gérer les coûts opérationnels en empêchant l’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 une limitation de débit dans vos applications

Lorsque vous créez des applications qui intègrent des API cloud, consultez leur documentation pour vérifier s’ils prennent en charge la limitation du débit. Si c’est le cas, vous recevez ou X-RateLimit-... recevez RateLimit-... des en-têtes de réponse 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 requêtes 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 uniquement les RateLimit-... en-têtes après avoir 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 retournant un code d’état HTTP 429 (Trop de requêtes). Certaines API peuvent également envoyer un Retry-After en-tête indiquant la durée pendant laquelle vous devez attendre avant d’envoyer une autre requête.

Pour éviter la limitation et vous assurer que votre application reste réactive, vous devez implémenter la limitation de 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. Après avoir implémenté la limitation de débit dans votre application, testez s’il gère correctement la limitation du débit.

Étapes suivantes