Sdílet prostřednictvím


Omezení souběžnosti

PLATÍ PRO: Všechny úrovně služby API Management

Zásady limit-concurrency brání provádění uzavřených zásad více než zadaným počtem požadavků kdykoli. Když se toto číslo překročí, nové požadavky okamžitě selžou se stavovým kódem 429 Příliš mnoho požadavků.

Upozornění

Vzhledem k distribuované povaze architektury omezování není omezování rychlosti nikdy úplně přesné. Rozdíl mezi nakonfigurovaným a skutečným počtem povolených požadavků se liší v závislosti na objemu a četnosti požadavků, latenci back-endu a dalších faktorech.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Atribut Popis Požaduje se Výchozí
key Řetězec. Určuje rozsah souběžnosti. Může být sdílen více zásadami. Výrazy zásad jsou povolené. Yes
max-count Celé číslo. Určuje maximální počet požadavků, které mají povoleno zadat zásadu. Výrazy zásad nejsou povolené. Yes

Využití

  • Oddíly zásad: příchozí, odchozí, back-end, on-error
  • Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
  • Brány: Classic, v2, consumption, self-host, workspace

Poznámky k využití

  • Maximální počet požadavků vynucovaných službou API Management je nižší, když je v oblasti nasazeno více jednotek kapacity.

Příklad

Následující příklad ukazuje, jak omezit počet požadavků předávaných do back-endu na základě hodnoty kontextové proměnné.

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

Další informace o práci se zásadami najdete v tématech: