Sobes.tech
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:

  1. Starea închisă: Toate solicitările trec normal.
  2. 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.
  3. 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
}