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
- Sections de la stratégie : inbound, outbound, backend, on-error
- Étendues de la stratégie : global, espace de travail, produit, API, opération
- Passerelles : classiques, v2, consommation, auto-hébergées, espace de travail
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>
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Kit de ressources des stratégies Gestion des API Azure
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure