Construye un Circuit Breaker en TypeScript en 80 Líneas

<meta content=Aprende a construir un Circuit Breaker en TypeScript en solo 80 líneas. Mejora la resiliencia y tolerancia a fallos de tus aplicaciones de forma práctica y eficiente.>

3 may 2026 • 4 min de lectura • Equipo Q2BSTUDIO

Construye un Circuit Breaker en TypeScript (80 líneas)

Cuando un servicio externo comienza a degradarse sin previo aviso, el impacto en la cadena de pagos o en la experiencia de usuario puede escalar en segundos. En entornos de producción con Node.js y TypeScript, un mecanismo conocido como circuit breaker actúa como una barrera inteligente que aísla los fallos y evita que una dependencia lenta arrastre a todo el sistema. Este patrón, que cabe en ochenta líneas de código bien estructurado, se ha convertido en una pieza esencial para garantizar la resiliencia de aplicaciones a medida que dependen de múltiples servicios externos.

La idea central es simple: un estado máquina con tres fases. En estado cerrado las peticiones fluyen normalmente mientras se monitoriza la tasa de errores en una ventana deslizante. Si la proporción de fallos supera un umbral, el circuito se abre y cualquier llamada posterior se rechaza al instante sin consumir recursos de red. Tras un período de enfriamiento, el breaker pasa a semi-abierto y permite exactamente una sonda. Si esa sonda tiene éxito, el circuito se cierra; si falla, se abre de nuevo con un tiempo de espera duplicado de forma exponencial. Esta lógica de retroceso evita saturar al proveedor durante una caída real y reduce la latencia media del sistema al fallar rápido en lugar de esperar timeouts.

Implementar este patrón en TypeScript es especialmente limpio gracias al modelo de concurrencia de un solo hilo. La bandera que controla la sonda única en estado semi-abierto se escribe bajo la misma ejecución síncrona, lo que elimina condiciones de carrera sin necesidad de bloqueos. La estructura de datos para la ventana deslizante puede ser un array de objetos Outcome que se poda en cada lectura; el coste O(n) es despreciable para volúmenes habituales de tráfico. Si el sistema maneja decenas de miles de peticiones por segundo, un buffer circular ofrece mejores garantías, pero para la mayoría de los escenarios el array es suficiente. La configuración típica incluye un umbral de fallos entre 0.4 y 0.6, una ventana de diez a treinta segundos, un número mínimo de muestras para evitar falsos positivos, y un enfriamiento inicial corto —por ejemplo, un segundo— que la rampa exponencial eleva hasta un máximo de unos minutos.

En Q2BSTUDIO, empresa de desarrollo de software y tecnología, aplicamos este tipo de patrones en cada proyecto de software a medida que construimos para nuestros clientes. La combinación de un circuit breaker con timeouts por llamada, reintentos con backoff, bulheads de concurrencia y métricas exportables forma el kit de resiliencia de una dependencia. Además, cuando integramos soluciones de inteligencia artificial o agentes IA en flujos de producción, la estabilidad de cada endpoint se vuelve crítica. Un breaker bien afinado permite que un modelo de IA para empresas o un servicio de análisis en tiempo real continúe funcionando aunque un proveedor externo de datos falle momentáneamente.

La implementación concreta en TypeScript no requiere librerías externas: un archivo de ochenta líneas, un error personalizado y una función factoría son suficientes. El breaker expone un único método `call` que envuelve cualquier función asíncrona, y las transiciones de estado ocurren en el propio flujo de la llamada, sin temporizadores ni procesos en segundo plano. Esto facilita la integración en cualquier arquitectura, ya sea un monolito o un ecosistema de microservicios alojado en servicios cloud AWS y Azure. Por ejemplo, en proyectos donde desplegamos soluciones sobre infraestructura cloud, cada breaker se instancia por dependencia —una instancia para el gateway de pagos, otra para la base de datos, otra para el sistema de notificaciones— y así se evita que un solo fallo contamine tráfico no relacionado.

La configuración de los parámetros merece atención. Un umbral demasiado bajo provoca aperturas por ruido transitorio; uno demasiado alto absorbe latencia innecesaria. La ventana debe reflejar el patrón de tráfico: en servicios con baja frecuencia, la muestra mínima tiene más peso que la ventana temporal. El enfriamiento inicial debe ser corto para que un parpadeo no penalice durante medio minuto, pero la rampa exponencial debe tocar techo para que el breaker no se convierta en una compuerta estática. Esos detalles marcan la diferencia entre un protector eficaz y un componente que añade complejidad sin beneficio real.

Desde una perspectiva empresarial, incorporar un circuit breaker es una decisión de bajo coste y alto retorno. No evita que un proveedor falle, pero asegura que ese fallo no se propague. En sistemas que manejan transacciones financieras, logística o atención al cliente, el impacto de una degradación encadenada puede traducirse en pérdida de ingresos y confianza. Por eso, en Q2BSTUDIO integramos este patrón junto con prácticas de ciberseguridad y servicios inteligencia de negocio como Power BI, ofreciendo un ecosistema completo donde la resiliencia técnica y la visibilidad de datos se refuerzan mutuamente. La monitorización de los estados del breaker —cerrado, abierto, semi-abierto— alimenta cuadros de mando que permiten a los equipos reaccionar antes de que el usuario note el problema.

En definitiva, ochenta líneas de TypeScript bien escritas pueden transformar la forma en que un servicio se comporta bajo estrés. El circuit breaker es el primero de una secuencia de patrones —timeout, retry, bulkhead, métrica— que todo equipo debería tener en su caja de herramientas. Cuando se implementa correctamente, no solo protege la infraestructura, sino que permite a las organizaciones escalar con confianza, sabiendo que los fallos externos quedarán contenidos sin afectar al núcleo del negocio.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.