Sobes.tech
Middle — Middle+

Magyarázza el a Circuit Breaker komponens működési elvét és célját a megbízhatósági rendszerekben.

sobes.tech MI

Válasz az MI-től

A Circuit Breaker komponens a megbízhatóság növelésére szolgál elosztott rendszerekben, megakadályozva a nem működő szolgáltatás ismételt hívási kísérleteit, és csökkentve a rendszer terhelését.

Működési elv:

  1. Zárt állapot: Minden kérés normál módon átmegy.
  2. Nyitott állapot: Ha a hibák száma meghalad egy küszöbértéket, a Circuit Breaker «kinyílik» és blokkolja a további kéréseket, azonnal hibát vagy alternatív választ adva.
  3. Félnyitott állapot: Egy idő után a nyitás után korlátozott számú kérés engedélyezett, hogy ellenőrizze, a szolgáltatás helyreállt-e.

Ha a kérések sikeresek, visszatér a zárt állapotba, különben újra nyit.

Ez megakadályozza a leállt szolgáltatás túlterhelését, és időt ad a helyreálláshoz, javítva a rendszer általános stabilitását.

Egyszerűsített példa Go nyelven:

// Pseudokód
cb := NewCircuitBreaker(3, time.Minute) // 3 hiba - 1 percig nyitva

if cb.AllowRequest() {
    err := callRemoteService()
    if err != nil {
        cb.RecordFailure()
    } else {
        cb.RecordSuccess()
    }
} else {
    // Azonnali hiba visszaadása, a szolgáltatás nem elérhető
}