Todos los productos
Search
Centro de documentos

Microservices Engine:Configure circuit breaking rules

Última actualización: Sep 05, 2026

Cuando un servicio descendente responde con lentitud o devuelve errores con alta frecuencia, los fallos pueden propagarse en cascada y degradar toda la aplicación. La función de circuit breaking en Microservices Engine (MSE) supervisa estas dependencias descendentes y detiene automáticamente el envío de solicitudes cuando se supera un umbral configurado. Tras un periodo de enfriamiento, MSE sondea la recuperación al permitir gradualmente el paso de nuevas solicitudes.

El circuit breaking está diseñado para dependencias débiles, es decir, servicios descendentes cuya indisponibilidad temporal puede ser tolerada por su aplicación. Para las dependencias críticas donde los fallos deben propagarse de inmediato, utilice estrategias de reintento o mecanismos alternativos.

Funcionamiento

Un circuit breaker transita entre tres estados:

  1. Closed (operación normal): todas las solicitudes pasan sin restricción. MSE rastrea métricas (proporción de llamadas lentas o proporción de errores) dentro de la ventana de tiempo configurada.

  2. Open (circuito activado): cuando la métrica supervisada supera el umbral configurado y se alcanza el número mínimo de solicitudes, MSE bloquea todas las peticiones durante la duración establecida. Las solicitudes bloqueadas fallan inmediatamente en lugar de esperar a que se agote el tiempo de espera.

  3. Half-open (sondeo de recuperación): una vez que finaliza la duración del circuit breaking, MSE permite el paso de la siguiente solicitud como prueba:

    • Si la solicitud de prueba se completa correctamente, el circuit breaker vuelve al estado Closed.

    • Si la solicitud de prueba falla, el circuit breaker regresa al estado Open durante otro ciclo completo.

MSE también admite la recuperación progresiva, la cual incrementa gradualmente el porcentaje de solicitudes permitidas a través de múltiples etapas, en lugar de depender de una única solicitud de prueba.

Requisitos previos

Antes de empezar, asegúrese de cumplir con lo siguiente:

Crear una regla de circuit breaking

  1. Inicie sesión en la consola de MSE y seleccione una región en la barra de navegación superior.

  2. En el panel de navegación izquierdo, vaya a Microservices Governance > Application Governance.

  3. En la página Application list, haga clic en la aplicación deseada. A continuación, abra el cuadro de diálogo Add Circuit Breaking Rule mediante cualquiera de las siguientes rutas:

    • Ruta A: en el panel de navegación izquierdo, haga clic en API Details. En la pestaña WEB service, seleccione la pestaña Client. Elija una interfaz, vaya a la pestaña Circuit Breaking y luego haga clic en Added fusing rule.

    • Ruta B: en el panel de navegación izquierdo, haga clic en Traffic management. Seleccione la pestaña Flow protection, luego la pestaña Fuse rule y finalmente haga clic en Added fusing rule.

  4. En el cuadro de diálogo Add Circuit Breaking Rule, configure los siguientes parámetros y haga clic en New.

Parámetros de la regla

Parámetro

Descripción

Valores válidos

Interface name

Interfaz que se protegerá con esta regla.

--

Statistical window duration

Duración de la ventana de tiempo utilizada para calcular las métricas.

De 1 segundo a 120 minutos

Minimum number of requests

Número mínimo de solicitudes requeridas dentro de la ventana de tiempo antes de que pueda activarse el circuit breaking. Si el recuento real de solicitudes es inferior a este valor, el circuit breaker permanece cerrado sin importar la proporción métrica.

Entero positivo

Threshold Type

Métrica empleada para evaluar si debe activarse el circuit breaker.

Slow call ratio (%), Abnormal proportion (%)

Slow call RT

Umbral de tiempo de respuesta (en milisegundos) que define una llamada lenta. Las solicitudes que superan este valor se contabilizan como llamadas lentas. Solo aplica cuando Threshold Type está establecido en Slow call ratio (%).

Entero positivo (ms)

Circuit Breaking Ratio Threshold

Umbral porcentual que activa el circuit breaking. Para la proporción de llamadas lentas, representa el porcentaje de dichas llamadas. Para la proporción anómala, indica el porcentaje de solicitudes anómalas.

0--100 (%)

Circuit Breaking Duration (s)

Tiempo durante el cual el circuit breaker permanece abierto. En este periodo, todas las solicitudes hacia la interfaz protegida fallarán.

Entero positivo (segundos)

Circuit Breaking Policy

Estrategia de recuperación aplicada al finalizar la duración del circuit breaking.

Single detection recovery, Progressive recovery

Nota: Los parámetros Statistical window duration y Minimum number of requests funcionan de manera conjunta. Por ejemplo, si establece una ventana de 1 segundo con un mínimo de 10 solicitudes, las interfaces con poco tráfico (menos de 10 solicitudes por segundo) nunca activarán el circuit breaker. Para interfaces con bajo volumen de tráfico, utilice una ventana más amplia junto con un recuento mínimo de solicitudes menor.

Directivas de recuperación

Single detection recovery

Al concluir la duración del circuit breaking, MSE permite el paso de la siguiente solicitud como sondeo de prueba:

  • Si la solicitud se completa correctamente (el tiempo de respuesta es inferior al umbral de RT de llamada lenta o no se produce ningún error), el circuit breaker se cierra y el tráfico normal se reanuda.

  • Si la solicitud falla, el circuit breaker se abre nuevamente durante otro ciclo completo.

Progressive recovery

En lugar de usar una única solicitud de prueba, MSE incrementa gradualmente la proporción de tráfico a lo largo de varias etapas de recuperación. Esto reduce el riesgo de reactivar el circuit breaker inmediatamente después de la recuperación.

Configure dos parámetros adicionales:

Parámetro

Descripción

Number of recovery phases

Cantidad de etapas utilizadas para aumentar el tráfico hasta alcanzar el 100 %.

Minimum number of passes per step

Número mínimo de solicitudes en cada etapa antes de que MSE evalúe si debe avanzar a la siguiente fase.

El porcentaje de tráfico permitido en cada etapa se calcula de la siguiente forma:

Traffic ratio = 100% / Number of recovery phases

Por ejemplo, con 3 fases de recuperación y un mínimo de 5 solicitudes por etapa:

Etapa

Tráfico permitido

Comportamiento

1

33 %

MSE permite el paso del 33 % de las solicitudes. Una vez que pasan como mínimo 5 solicitudes, MSE verifica la métrica. Si está por debajo del umbral, avanza a la etapa 2; si lo supera, vuelve a abrir el circuit breaker.

2

67 %

MSE permite el paso del 67 % de las solicitudes. Se aplica la misma evaluación que en la etapa 1.

3

100 %

Pasan todas las solicitudes. El circuit breaker se cierra por completo.

Si el número de solicitudes en una etapa es inferior al mínimo de aprobaciones por paso, el sistema avanza a la siguiente etapa de recuperación hasta que se permita el paso de todas las solicitudes.

Ejemplos

Circuit breaking por llamadas lentas

Escenario: su aplicación invoca un servicio de terceros que ocasionalmente responde con lentitud, lo que provoca tiempos de espera agotados y degrada el rendimiento general.

Configuración:

Parámetro

Valor

Justificación

Interface name

test

Interfaz que llama al servicio descendente lento.

Statistical window duration

1 segundo

Detectar rápidamente la degradación.

Minimum number of requests

10

Evitar activaciones en interfaces con poco tráfico.

Threshold Type

Slow call ratio (%)

Supervisar el tiempo de respuesta en lugar de los errores.

Slow call RT

1000 ms

Las solicitudes que exceden 1 segundo se consideran llamadas lentas.

Circuit Breaking Ratio Threshold

80 %

Activar el circuito cuando el 80 % de las solicitudes sean lentas.

Circuit Breaking Duration (s)

10 segundos

Bloquear todas las solicitudes durante 10 segundos.

Circuit Breaking Policy

Single detection recovery

Probar una sola solicitud tras cada periodo de circuit breaking.

Comportamiento: si llegan más de 10 solicitudes en 1 segundo y más del 80 % tarda más de 1000 ms, el circuit breaker se abre. Todas las solicitudes hacia la interfaz test fallarán durante los siguientes 10 segundos. Pasado ese tiempo, MSE deja pasar una solicitud; si esta se completa en menos de 1000 ms, el circuit breaker se cierra. De lo contrario, se abre nuevamente por otros 10 segundos.

Circuit breaking por solicitudes anómalas

Escenario: su aplicación muestra contenido proveniente de un servicio externo. Cuando aumentan las solicitudes anómalas, la degradación del contenido afecta negativamente la experiencia del usuario.

Configuración:

Parámetro

Valor

Justificación

Interface name

test

Interfaz que llama al servicio descendente anómalo.

Statistical window duration

1 segundo

Detectar rápidamente los picos de solicitudes anómalas.

Minimum number of requests

10

Evitar activaciones en interfaces con poco tráfico.

Threshold Type

Abnormal proportion (%)

Supervisar la proporción de solicitudes anómalas.

Circuit Breaking Ratio Threshold

80 %

Activar el circuito cuando el 80 % de las solicitudes sean anómalas.

Circuit Breaking Duration (s)

10 segundos

Bloquear todas las solicitudes durante 10 segundos.

Circuit Breaking Policy

Single detection recovery

Probar una sola solicitud tras cada periodo de circuit breaking.

Comportamiento: si llegan más de 10 solicitudes en 1 segundo y más del 80 % son anómalas, el circuit breaker se abre. Todas las solicitudes hacia la interfaz test fallarán durante los siguientes 10 segundos. Pasado ese tiempo, MSE deja pasar una solicitud; si esta se completa correctamente, el circuit breaker se cierra. De lo contrario, se abre nuevamente por otros 10 segundos.

Mejores prácticas

Elegir el tipo de umbral adecuado

  • Utilice Slow call ratio cuando la degradación del tiempo de respuesta sea su principal preocupación, como en llamadas API síncronas donde la latencia impacta directamente la experiencia del usuario.

  • Utilice Abnormal proportion cuando los errores descendentes representen el mayor riesgo, por ejemplo, en llamadas a servicios de terceros poco confiables.

Establecer valores adecuados para la ventana y los umbrales

  • Ventana estadística: las ventanas cortas (de 1 a 10 segundos) detectan problemas con mayor rapidez, pero son más sensibles a ráfagas de tráfico. Las ventanas más largas (de 1 a 5 minutos) ofrecen señales más estables para interfaces con menor volumen de tráfico.

  • Número mínimo de solicitudes: defina este valor lo suficientemente alto para evitar falsos positivos. En interfaces con poco tráfico, establecer un mínimo de 5 a 10 solicitudes con una ventana más amplia suele ser más fiable que exigir 10 solicitudes por segundo.

Seleccionar una directiva de recuperación

  • La opción Single detection recovery funciona bien para servicios que se recuperan por completo: o funcionan correctamente o no lo hacen.

  • La Progressive recovery resulta más segura para servicios que podrían haberse recuperado solo parcialmente, ya que evita que una avalancha repentina de tráfico sature un servicio que acaba de volver a estar en línea.

Comprobar que una regla está activa

Después de guardar una regla de circuit breaking, confirme que funciona según lo esperado:

  1. En el panel de navegación izquierdo, haga clic en Traffic management. En la pestaña Flow protection, seleccione la pestaña Fuse rule para consultar todas las reglas configuradas y su estado actual.

  2. Genere tráfico de prueba hacia la interfaz protegida y supervise las métricas del circuit breaker para confirmar que la regla se activa correctamente.

Temas relacionados