Middle — Middle+
Leg uit hoe de werking is en het doel van de Circuit Breaker-component in betrouwbaarheidssystemen.
sobes.tech AI
Antwoord van AI
De Circuit Breaker-component wordt gebruikt om de betrouwbaarheid van gedistribueerde systemen te verbeteren, door herhaalde pogingen om een niet-werkende service aan te roepen te voorkomen en de belasting op het systeem te verminderen.
Werking principe:
- Gesloten toestand: Alle verzoeken gaan zoals gewoonlijk.
- Open toestand: Als het aantal fouten een drempel overschrijdt, gaat de Circuit Breaker «open» en blokkeert verdere verzoeken, en geeft onmiddellijk een fout of een alternatief antwoord.
- Half-open toestand: Na enige tijd na het openen, staat het beperkte aantal verzoeken toe om te controleren of de service is hersteld.
Als de verzoeken succesvol zijn, gaat het terug naar de gesloten toestand, anders wordt het opnieuw geopend.
Dit voorkomt overbelasting van de uitgevallen service en geeft tijd voor herstel, waardoor de algehele stabiliteit van het systeem wordt verbeterd.
Voorbeeld in Go (vereenvoudigd):
// Pseudocode
cb := NewCircuitBreaker(3, time.Minute) // 3 fouten - opent voor 1 minuut
if cb.AllowRequest() {
err := callRemoteService()
if err != nil {
cb.RecordFailure()
} else {
cb.RecordSuccess()
}
} else {
// Onmiddellijk fout teruggeven, service niet beschikbaar
}