Limitar la simultaneidad

SE APLICA A: todos los niveles de API Management

La directiva limit-concurrency evita que las directivas delimitadas ejecuten en un momento dado un número de solicitudes mayor que el especificado. Cuando se supera ese número, las nuevas solicitudes fallarán inmediatamente con el código de estado 429 Demasiadas solicitudes.

Nota:

Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Instrucción de la directiva

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

Atributos

Atributo Descripción Necesario Valor predeterminado
key Una cadena. Especifica el ámbito de la simultaneidad. Puede compartirse entre varias directivas. Se permiten expresiones de directiva. N/D
número máximo Entero. Especifica el número máximo de solicitudes que se pueden especificar en la directiva. No se permiten expresiones de directiva. N/D

Uso

Ejemplo

En el ejemplo siguiente se muestra cómo limitar el número de solicitudes que se reenvían a un back-end en función del valor de una variable de contexto.

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

Para más información sobre el trabajo con directivas, vea: