Partilhar via


Limitar a simultaneidade

APLICA-SE A: Todas as camadas de gerenciamento de API

A limit-concurrency política impede que as políticas anexadas sejam executadas por mais do que o número especificado de solicitações a qualquer momento. Quando esse número for excedido, novas solicitações falharão imediatamente com o código de 429 status Solicitações Demais.

Atenção

Devido à natureza distribuída da arquitetura de limitação, a limitação de taxa nunca é completamente precisa. A diferença entre o número configurado e o número real dos pedidos permitidos varia em função do volume e taxa de pedido, da latência de back-end e de outros fatores.

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.

Declaração de política

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

Atributos

Atributo Description Necessário Predefinição
key Uma cadeia de caracteres. Especifica o escopo de simultaneidade. Pode ser compartilhado por várias políticas. São permitidas expressões de política. Sim N/A
contagem máxima Um inteiro. Especifica um número máximo de solicitações que têm permissão para entrar na política. Expressões de política não são permitidas. Sim N/A

Utilização

Notas de utilização

  • O número máximo de solicitações impostas pelo Gerenciamento de API é menor quando várias unidades de capacidade são implantadas em uma região.

Exemplo

O exemplo a seguir demonstra como limitar o número de solicitações encaminhadas para um back-end com base no valor de uma variável 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 obter mais informações sobre como trabalhar com políticas, consulte: