Sobes.tech
Junior — Middle

Kunt u het werkingsmechanisme van het Circuit Breaker-patroon en de rol ervan in het waarborgen van de betrouwbaarheid van het systeem uitleggen?

sobes.tech AI

Antwoord van AI

Het Circuit Breaker-patroon wordt gebruikt om de betrouwbaarheid van gedistribueerde systemen te verhogen door herhaalde oproepen naar een niet-werkende of langzaam reagerende service te voorkomen.

Hoe het werkt:

  1. Gesloten (gesloten toestand): Alle verzoeken gaan zoals gewoonlijk door.
  2. Open (open toestand): Als het aantal fouten een drempel overschrijdt, «opent» de Circuit Breaker — nieuwe verzoeken krijgen onmiddellijk een fout zonder de service aan te roepen.
  3. Half-Open (half-open toestand): Na enige tijd staat de Circuit Breaker een beperkt aantal verzoeken toe om te controleren of de service is hersteld.

Als de verzoeken succesvol zijn, keert de toestand terug naar Gesloten, anders weer naar Open.

Dit voorkomt overbelasting van een niet-werkende service en stelt het systeem in staat sneller te herstellen.

Voorbeeld van gebruik in Go (vereenvoudigd):

// Pseudo-code
cb := NewCircuitBreaker()

if cb.AllowRequest() {
    err := callRemoteService()
    if err != nil {
        cb.RecordFailure()
    } else {
        cb.RecordSuccess()
    }
} else {
    // Geef onmiddellijk een fout terug, zonder de service aan te roepen
}

Op deze manier helpt de Circuit Breaker om het systeem veerkrachtiger te maken tegen storingen.