Solo pasarela de API de DataPower

ratelimit

Utilice la política ratelimit para aplicar uno o más límites de velocidad, ráfaga o recuento en cualquier punto del flujo de ensamblaje de la API. Los límites de velocidad y ráfaga limitan el número de llamadas efectuadas a una API durante un período de tiempo especificado, mientas que los límites de recuento imponen un límite estricto sobre el número total de llamadas.

Soporte de pasarela

Tabla 1. Tabla que muestra qué pasarelas soportan esta política y la versión de política correspondiente
Pasarela Versión de política
DataPower® API Gateway 2.0.0

2.1.0 (DataPower API Gateway Versión 10.0.1.0 o posterior)

2.2.0 (DataPower API Gateway Versión 10.0.2.0 o posterior)

2.3.0 (DataPower API Gateway Versión 10.5.0.0

En este tema se describe cómo configurar la política en el origen de OpenAPI ; para obtener detalles sobre cómo configurar la política en la interfaz de usuario de ensamblaje, consulte Límite de velocidad.

Acerca de

Los límites de velocidad, ráfaga y recuento definidos se aplican a lo que sigue en el flujo de ensamblaje. Por ejemplo, si una política ratelimit se coloca antes de una política invoke y la llamada realizada por la política invoke supera los límites definidos por la política ratelimit , la propia llamada de API falla.

La política ratelimit tiene el formato siguiente:
- ratelimit:
    version: version
    title: title
    description: description
    source: rate_and_burst_limit_location
    rate-limit: rate_limits_to_apply
    burst-limit: burst_limits_to_apply

Propiedades

En la tabla siguiente se describen las propiedades de la política ratelimit .
Tabla 2. ratelimit Propiedades de política
Propiedad Obligatorio Descripción Tipo de datos
version El número de versión de la política serie
title Nee Título de la política. serie
description Nee Una descripción de la política. serie
source La ubicación de todas las definiciones de límite de velocidad, límite de ráfaga y límite de recuento que se incluyen en esta política. Especifique uno de los valores siguientes:
  • catalog-named: los límites de velocidad o de separación que se van a aplicar se definen en el objeto api-collection adecuado en DataPower API Gateway, que es el objeto que representa el catálogo de API Connect en la configuración de pasarela.

    Para obtener detalles sobre cómo configurar un límite de velocidad, separación o recuento en el objeto api-collection , consulte Configuración de un límite de velocidad, separación o recuento en.

  • plan-named: los límites que se deben aplicar son los límites de ráfaga de ensamblaje o los límites de recuento de ensamblaje definidos en el plan al que se ha suscrito la aplicación de llamada. Para obtener detalles sobre cómo configurar límites de separación de ensamblaje y límites de recuento de ensamblaje en un plan, consulte Edición de un borrador de producto.
    Nota: Las condiciones siguientes se aplican a una política de límite de velocidad de plan-named :
    • Cada plan que contiene la API que se está limitando debe tener aplicado el límite de velocidad especificado.
    • No se puede utilizar una política de límite de velocidad de plan-named con productos generados automáticamente.
  • gateway-named: los límites que se van a aplicar se definen en el objeto apigw , denominado apiconnect, en la pasarela de DataPower API Gateway .

    Para obtener detalles sobre cómo configurar un límite de velocidad, separación o recuento en el objeto apigw , consulte Configuración de un límite de velocidad, separación o recuento en.

  • plan-default: los límites de velocidad y ráfaga que se aplican son los predeterminados configurados en el plan al que se ha suscrito la aplicación de llamada. Para obtener detalles sobre cómo configurar la velocidad del plan predeterminada y los límites de separación, consulte Edición de un borrador de producto.
    Nota: El uso de esta opción no inhabilita ninguna política de límite de velocidad de preflujo automática que pueda estar en vigor y podría hacer que la aplicación de la limitación de velocidad se repita. Para obtener más información sobre las políticas de preflujo, consulte Personalización de las políticas de preflujo.
serie
rate-limit 1 Si la propiedad source se establece en catalog-named, una lista de nombres de límite de velocidad tal como se define en la configuración de DataPower API Gateway ,

1 Debe proporcionar como mínimo un límite de velocidad, ráfaga o recuento.

serie
burst-limit 2 Si la propiedad source se establece en catalog-named, una lista de nombres de límite de separación tal como se define en la configuración de DataPower API Gateway .

Si source se ha establecido en plan-named, una lista de nombres de límites de ráfaga de ensamblaje definidos en un plan.

2 Debe proporcionar como mínimo un límite de velocidad, ráfaga o recuento.

serie
count-limit 3 Si la propiedad source se establece en catalog-named, una lista de nombres de límite de recuento tal como se define en la configuración de DataPower API Gateway .

Si source se ha establecido en plan-named, una lista de nombres de límites de recuento de ensamblaje definidos en un plan.

3 Debe proporcionar como mínimo un límite de velocidad, ráfaga o recuento.

serie
operation Nee Para un límite de velocidad, especifique uno de los valores siguientes:
  • consume: la política reduce el saldo de las solicitudes disponibles que permanecen en el intervalo definido por el límite de velocidad especificado por la propiedad rate-limit.

    La cantidad en la que se reduce el saldo restante es el valor resultante de la expresión de ponderación definida en el límite de velocidad especificado.

  • replenish: la política aumenta el saldo de las solicitudes disponibles que permanecen en el intervalo definido por el límite de velocidad especificado por la propiedad rate-limit.

    La cantidad en la que aumenta el saldo restante es el valor resultante de la expresión de ponderación definida en el límite de velocidad especificado.

    La finalidad de la operación replenish es restaurar una cantidad adecuada de saldo restante en los casos en que la cantidad calculada por una operación consume anterior resulta ser demasiado alta. Por ejemplo, para un límite de velocidad de ensamblaje con un límite de 100, una operación consume con una ponderación de 60 utiliza 60 solicitudes, dejando 40 solicitudes para el intervalo. Si la expresión de ponderación de la operación replenish subsiguiente se calcula en 15, lo que significa que la expresión de ponderación ha calculado que el uso real de solicitudes era de sólo 45, la operación replenish aumenta las solicitudes restantes en 15, hasta un saldo restante de 55.

    Tenga en cuenta que la operación replenish no puede aumentar las solicitudes restantes permitidas más allá del límite original definido en el esquema de límite de velocidad de ensamblaje. En este ejemplo, una operación replenish no puede reponer solicitudes más allá de 100. Una operación replenish se omite si la expresión de ponderación se evalúa como un valor inferior a 1.

    El valor predeterminado es consume.

Para un límite de recuento, especifique uno de los valores siguientes:
  • inc: el valor actual se incrementa en el valor que resulta de la expresión de ponderación definida en el límite de recuento especificado por la propiedad count-limit.
  • dec: el recuento actual se reduce en el valor que resulta de la expresión de ponderación definida en el límite de recuento especificado en el campo count-limit.

De forma predeterminada, el límite de recuento disminuye automáticamente al final del ensamblaje de API en la cantidad total incrementada durante el ensamblaje, menos las operaciones de disminución definidas en el ensamblaje. No es necesario definir explícitamente las operaciones de disminución, a menos que desee que las disminuciones se produzcan en puntos específicos del ensamblaje. Sin embargo, si la función de disminución automática se ha inhabilitado explícitamente en la configuración del límite de recuento, debe incluir una operación de disminución correspondiente; de lo contrario, cuando se alcance el límite de recuento, se bloquearán todas las llamadas futuras. Para obtener más información sobre cómo configurar un límite de recuento, consulte Configuración de un límite de velocidad, separación o recuento en.

El valor predeterminado es inc.

Para un límite de ráfaga, el único valor posible es consume, lo que significa que el límite aplicado es el definido en el límite de ráfaga especificado por el campo burst-limit.

serie

Ejemplo


- ratelimit:
    version: 2.0.0
    title: Apply rate and burst limits
    source: catalog-named
    rate-limit:
      - 30perMinute
      - 2000per3Hours
    burst-limit:
      - 5per10Seconds