Middle — Middle+
Explica principiul de funcționare și scopul componentului Circuit Breaker în sistemele de fiabilitate.
sobes.tech AI
Răspuns de la AI
Componenta Circuit Breaker este utilizată pentru a crește fiabilitatea sistemelor distribuite, prevenind încercările repetate de a apela un serviciu defect și reducând sarcina asupra sistemului.
Principiul de funcționare:
- Starea închisă: Toate solicitările trec normal.
- Starea deschisă: Dacă numărul de erori depășește un prag, Circuit Breaker se «deschide» și blochează solicitările ulterioare, returnând imediat o eroare sau un răspuns alternativ.
- Starea semi-deschisă: După un anumit timp de la deschidere, permite un număr limitat de solicitări pentru a verifica dacă serviciul s-a recuperat.
Dacă solicitările au succes, se întoarce în starea închisă, altfel se redeschide.
Acest lucru previne supraîncărcarea serviciului căzut și oferă timp pentru recuperare, îmbunătățind stabilitatea generală a sistemului.
Exemplu în Go (simplificat):
// Pseudocod
cb := NewCircuitBreaker(3, time.Minute) // 3 erori - se deschide pentru 1 minut
if cb.AllowRequest() {
err := callRemoteService()
if err != nil {
cb.RecordFailure()
} else {
cb.RecordSuccess()
}
} else {
// Returnează eroare imediat, serviciul nu este disponibil
}