¿Qué es el patrón Circuit Breaker?

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si te interesa todo lo relacionado con la resiliencia de servidores y la arquitectura de microservicios, debes conocer qué es el patrón Circuit Breaker o Circuit Breaker pattern, que se define como una opción con la capacidad de evitar que un sistema o aplicación intente llevar a cabo la ejecución repetida de una operación que posiblemente no funcione.

De manera que,el llamado patrón Circuit Breaker destaca como la herramienta que permite la recuperación de una infraestructura, cuando opciones como la de reintentar no son suficiente. Es por esto que necesitas conocer, en este artículo, todos los detalles relacionados con este recurso y que es un circuit breaker.

¿Qué es el patrón Circuit Breaker?

El Circuit Breaker pattern o patrón Circuit Breaker se define como una opción utilizada para detectar fallos y encapsula la lógica de prevenir que un fallo se repita constantemente durante el mantenimiento, un fallo temporal de sistema externo o dificultades inesperadas del sistema.

Esto quiere decir que el patrón CircuitBreaker impide que un sistema lleve a cabo o continúe haciendo solicitudes a otro cuando existen altas posibilidades de que falle el proceso.

Este patrón de diseño Circuit permite, además, el cierre de la comunicación con un servicio específico cuando se identifica que este se encuentra fallando, lo que implica que debe actuar como un proxy para las operaciones que pueden llegar a presentar errores. Así pues, el proxy se encarga de la supervisión del número de fallas recientes para utilizar estos datos en la toma de decisiones acerca de si se permite o no que la operación siga o si se debe devolver una excepción.

Características del patrón Circuit Breaker

Dentro de las características y propiedades más importantes lo que es circuit breaker, se encuentra que permite la resolución de situaciones donde se ha intentado varias veces que un sistema de respuesta y aún sigue sin funcionar. En esos casos, el continuar reintentando no es recomendable en este patrón de diseño Circuit, debido a que tantas peticiones podrían llegar a bloquear los recursos de la infraestructura cada vez más, a medida que se sigue intentando que funcione.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Cabe destacar que el patrón Retry (encargado de reintentar) y el patrón Circuit Breaker se complementan entre sí y pueden ser utilizados de forma continua, por lo que un sistema puede no seguir reintentando una solicitud, en caso de que el circut breaker pattern así lo indique.

Otra de las características del patrón Circuit Breaker es que permite liberar cargas de manera rápida, al tiempo que protege ante picos o ráfagas de peticiones que probablemente fallen.

De la misma manera, este patrón tiene la capacidad de implementar el patrón bulkhead, una herramienta a cargo de la resistencia del sistema, abarcando el diseño de microservicios. Además, el Circuit Breaker es simple y tiene una recuperación más rápida que bulkhead.

El patrón Circuit Breaker también se caracteriza por necesitar una configuración, lo que podría llegar a representar una desventaja, debido a que se trata de una configuración estática que necesita pruebas de carga para poder funcionar de manera adecuada. Para implementar este patrón de diseño Circuit, se debe tener en cuenta que podría rechazar peticiones aunque el servidor esté listo.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué es el patrón Circuit Breaker, así como cuáles son sus características y propiedades más importantes. Ahora, no dudes en continuar con tu aprendizaje acerca de esta y otras opciones relevantes para tus proyectos tecnológicos a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses podrás adquirir todo lo que se necesita para destacar en un mundo tan competitivo como el IT. ¡Apúntate ahora para continuar aprendiendo hasta convertirte en un verdadero experto!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado