Sobes.tech
Middle — Middle+

Selgitage Circuit Breaker komponendi tööpõhimõtet ja eesmärki usaldusväärsussüsteemides.

sobes.tech AI

Vastus AI-lt

Circuit Breaker komponent on kasutusel, et parandada jaotatud süsteemide usaldusväärsust, vältides katseid kutsuda mittetöötavat teenust ja vähendades süsteemi koormust.

Tööpõhimõte:

  1. Sulev olek: Kõik päringud läbivad tavapäraselt.
  2. Ava olek: Kui vigade arv ületab läve, avab Circuit Breaker «ava» ja blokeerib edasised päringud, tagastades kohe vea või alternatiivse vastuse.
  3. Pool-ava olek: Pärast teatud aega pärast avamist võimaldab see piiratud arvu päringuid, et kontrollida, kas teenus on taastunud.

Kui päringud on edukad, naaseb see suletud olekusse, vastasel juhul avatakse uuesti.

See takistab ülekoormuse tekkimist rikke teenuses ja annab aega selle taastamiseks, parandades süsteemi üldist stabiilsust.

Näide Go keeles (lihtsustatud):

// Pseudo-kood
cb := NewCircuitBreaker(3, time.Minute) // 3 viga — avatakse 1 minutiks

if cb.AllowRequest() {
    err := callRemoteService()
    if err != nil {
        cb.RecordFailure()
    } else {
        cb.RecordSuccess()
    }
} else {
    // Kohe tagastada viga, teenus pole saadaval
}