Partager via


Limit concurrency

S’APPLIQUE À : tous les niveaux de Gestion des API

La stratégie limit-concurrency empêche les stratégies incluses d’exécuter plus de demandes simultanées que le nombre spécifié. SI ce nombre est dépassé, les nouvelles requêtes échouent immédiatement avec le code d’état 429 Trop de requêtes.

Attention

En raison de la nature distribuée de l’architecture de limitation, la limitation du débit n’est jamais totalement exacte. La différence entre le nombre configuré et le nombre réel de requêtes autorisées varie en fonction du volume et du débit des requêtes, de la latence du back-end et d’autres facteurs.

Notes

Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.

Instruction de la stratégie

<limit-concurrency key="expression" max-count="number">
        <!— nested policy statements -->
</limit-concurrency>

Attributs

Attribut Description Obligatoire Default
key Chaîne. Spécifie l’étendue de la simultanéité. Peut être partagée par plusieurs stratégies. Les expressions de stratégie sont autorisées. Oui N/A
max-count Entier. Spécifie le nombre maximal de requêtes autorisées à entrer dans la stratégie. Les expressions de stratégie ne sont pas autorisées. Oui N/A

Usage

Notes d’utilisation

  • Le nombre maximal de demandes appliquées par la Gestion des API est inférieur quand plusieurs unités de capacité sont déployées dans une région.

Exemple

L’exemple suivant montre comment limiter le nombre de requêtes transmises à un serveur principal en fonction de la valeur d’une variable contextuelle.

<policies>
  <inbound>…</inbound>
  <backend>
    <limit-concurrency key="@((string)context.Variables["connectionId"])" max-count="3">
      <forward-request timeout="120"/>
    </limit-concurrency>
  </backend>
  <outbound>…</outbound>
</policies>

Pour plus d’informations sur l’utilisation des stratégies, consultez :