Cuando el tráfico hacia un microservice supera la capacidad de procesamiento, las solicitudes sin control agotan los recursos y provocan interrupciones del servicio. Las reglas de limitación establecen un límite máximo de consultas por segundo (QPS) por instancia en interfaces específicas. Si los QPS superan el umbral definido, Microservices Engine (MSE) rechaza de inmediato las solicitudes excedentes o las coloca en una cola a una tasa constante, según el efecto de control de flujo que elija.
Requisitos previos
Antes de empezar, compruebe que cuenta con lo siguiente:
MSE Enterprise Edition activado.
-
Microservices Governance habilitado para sus aplicaciones. Para consultar las instrucciones de configuración, consulte:
Funcionamiento de la limitación
Cada regla de limitación supervisa una interfaz específica y aplica un umbral de QPS por instancia de aplicación.
Cuando el tráfico supera el umbral, MSE gestiona las solicitudes excedentes según el efecto de control de flujo:
|
Efecto de control de flujo |
Comportamiento |
Cuándo usarlo |
Compromiso |
|
Fast failure |
Rechaza de inmediato las solicitudes excedentes. El contenido de la respuesta depende del módulo de adaptación configurado en los ajustes del sistema de la aplicación. |
Servicios sensibles a la latencia donde es preferible un rechazo rápido en lugar de colocar las solicitudes en una cola. |
Baja latencia para quienes realizan las llamadas, pero se descartan las solicitudes excedentes. |
|
Waiting in line |
Coloca las solicitudes excedentes en una cola y las procesa a una tasa constante. Las solicitudes que superan el periodo de tiempo de espera fallan. |
Desplazamiento de picos de carga cuando se busca suavizar los aumentos de tráfico y procesar todas las solicitudes si es posible. |
Mayor latencia por solicitud individual, pero menos solicitudes descartadas. |
Cree una regla de limitación
Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.
En el panel de navegación izquierdo, elija Microservices Governance > Application Governance.
En la página Application list, haga clic en la tarjeta de recursos de la aplicación objetivo.
-
Abra el cuadro de diálogo de la regla de limitación mediante una de estas rutas:
Desde Application overview: Haga clic en Application overview en el panel de navegación izquierdo. En la pestaña Through QPS TOP, busque la interfaz objetivo y haga clic en Flow Control en la columna Actions.
Desde API Details: Haga clic en API Details en el panel de navegación izquierdo. En la pestaña WEB service, haga clic en la pestaña Interface Flow Control y luego haga clic en Add Throttling Rule.
Desde Traffic management: Haga clic en Traffic management en el panel de navegación izquierdo. Haga clic en la pestaña Flow protection, luego en la pestaña Interface Flow Control y finalmente en Add Throttling Rule.
-
En el cuadro de diálogo Add Throttling Protection Rule o Add Rule, configure a continuación los parámetros indicados.
Parámetro
Descripción
Interface name
Interfaz a la que se aplica la regla de limitación.
Whether to open
Habilite o deshabilite la regla. El cambio surte efecto de inmediato.
Stand-alone QPS threshold
Límite de QPS por instancia que activa la regla.
Flow control effect
Forma en que se gestionan las solicitudes excedentes. Seleccione Fast failure para rechazarlas de inmediato o Waiting in line para colocarlas en una cola con una tasa de procesamiento constante.
Timeout
Tiempo máximo (en milisegundos) que una solicitud puede esperar en la cola. Las solicitudes que superan este periodo fallan. Solo aplica cuando Flow control effect está establecido en Waiting in line.
Haga clic en New.
Ejemplo: suavizar picos de tráfico con colas
Para procesar las solicitudes a una tasa constante durante las horas pico en lugar de rechazarlas, configure una regla de limitación con colas:
Establezca Stand-alone QPS threshold en
5.Establezca Flow control effect en Waiting in line.
Establezca Timeout en
5000.
Con esta configuración, MSE procesa una solicitud cada 200 milisegundos por instancia y coloca el resto en una cola. Si una solicitud espera más de 5,000 milisegundos, falla y MSE devuelve la respuesta de limitación predeterminada, como una página estática o un texto predefinido.