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:
- Zárt állapot: Minden kérés normál módon átmegy.
- 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.
- 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ő
}