Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
stylenone

Hvad er en Circuit Breaker

 Generelt er Circuit breaker et designmønster, der anvendes i software, til detektere fejl og samtidig omfatter logik der forhindrer en fejl, der konstant gentages, i at påvirke systemets funktionalitet eller tilgængelighed. Fejl kan være afledt af vedligeholdelse, midlertidig ekstern systemfejl eller uventede systemproblemer. Circuit breaker sikrer også, at fejl et sted ikke afstedkommer fejl i den øvrige del af system-landskabet.

Hvordan virker Circuit Breaker i Orkestreringskomponenten

Circuit breaker i Orkestreringskomponenten er bygget således at vedvarende fejl ved kald til en datakilde ikke påvirker svartider fra Orkestreringskomponenten samt minimerer afledt belastning således at visningsklienter får den bedst mulige svartid fra Orkestreringskomponenten.

Circuit breaker virker ved, at når der er observeret x-antal fejlende kald efter hinanden for en bestemt datakilde, så bliver datakilden deaktiveret. Deaktivering betyder at Orkestreringskomponenten, ved efterfølgende kald til enten liste eller detalje, ikke forsøger at kalde en givne datakilde. Orkestreringskomponenten deaktiverer også datakilderne med det samme, hvis der er tale om fejl i forretningslogisk validering. Dette sker, når datakilder forsøger at sende data tilbage på et andet CPR-nummer, end det Orkestreringskomponenten forespørger på.

Datakilden bliver ikke permanent deaktiveret, men deaktiveres kun for at fastsat tidsrum. Når dette tidsrum er udløbet, så forsøger Orkestreringskomponenten at kalde datakilden igen. Ofte vil fejl hos datakilder være at temporær karakter, så det giver god mening at forsøge igen senere. Et servicevindue hos en datakilde kan ofte resultere i timeout, men når servicevinduet er færdigt, vil datakilden svare normalt igen.

...

Circuit breaker opererer per datakilde/per datamodel, dvs. hvis en datakilde bliver deaktiveret af Circuit breakeren, gælder det kun for den datamodel, hvor fejlkald er registreret.

Tærskelværdier

De forskellige tærskelværdier der arbejdes med i Circuit breaker er alle konfigurerbare, og der en individuel værdi per datakilde per datamodel.

...

Værdi for deaktiveringsperiode (ventetid) ved hver deaktivering er en global konfiguration for Orkestreringskomponenten. Er pt. sat til 5 minutter.

Flow for Circuit breaker

Flowet for Circuit breaker er illustreret i nedenstående figur.image-20240616-135301.pngImage Removed

...

Expand
titleHistorik
Change History