Middle — Middle+
¿Puede explicar el principio de funcionamiento del Circuit Breaker y por qué es necesario en sistemas con alta carga?
sobes.tech AI
Respuesta de la IA
Circuit Breaker — es un patrón que ayuda a proteger el sistema contra fallos en cascada al trabajar con servicios o componentes externos.
Principio de funcionamiento:
- En estado normal, Circuit Breaker permite las solicitudes al servicio externo.
- Si la cantidad de errores supera un umbral establecido, el Circuit Breaker se «abre» y bloquea futuras solicitudes por un tiempo.
- Después de una pausa, intenta restablecer la conexión (estado semiabierto).
- Si las solicitudes son exitosas, el Circuit Breaker vuelve a su estado normal.
¿Para qué sirve?
- Previene la sobrecarga en el servicio caído.
- Reduce el tiempo de espera de respuesta, devolviendo rápidamente un error.
- Mejora la estabilidad y resistencia del sistema.
Ejemplo en Go usando la biblioteca github.com/sony/gobreaker:
import (
"fmt"
"github.com/sony/gobreaker"
)
func main() {
cb := gobreaker.NewCircuitBreaker(gobreaker.Settings{})
result, err := cb.Execute(func() (interface{}, error) {
// llamada al servicio externo
return "respuesta", nil
})
if err != nil {
fmt.Println("Error o Circuit Breaker abierto:", err)
} else {
fmt.Println("Respuesta exitosa:", result)
}
}