Поделиться через


Ограничение параллелизма

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

Политика limit-concurrency не позволяет, чтобы заключенные политики одновременно выполнялись запросами, количество которых выше указанного. После превышения этого числа новые запросы будут завершаться сбоем с кодом состояния 429 Too Many Requests (429 — слишком много запросов).

Внимание

Из-за распределенного строения архитектуры регулирования ограничение частоты никогда не является полностью точным. Разница между настроенным и фактическим количеством допустимых запросов зависит от их объема и частоты, задержки на стороне сервера и других факторов.

Примечание.

Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.

Правило политики

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

Атрибуты

Атрибут Description Обязательное поле По умолчанию.
key Строка . Задает область параллелизма. Используется несколькими политиками. Допустимы выражения политики. Да Н/П
max-count Целое число. Указывает максимальное количество запросов для ввода политики. Выражения политики не допускаются. Да Н/П

Использование

Примечания об использовании

  • Максимальное количество запросов, применяемых Управление API, меньше, если в регионе развернуто несколько единиц емкости.

Пример

Ниже приведен пример, как ограничить число запросов, пересылаемых в серверную часть, на основе значения переменной контекста.

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

Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.