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.

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

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 :