Apache Airflow
Apache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerEen circuit breaker stopt tijdelijk met calls naar een falend systeem zodra fouten een grens overschrijden. Zo faalt je applicatie sneller en krijgt de afhankelijke dienst tijd om te herstellen.
Een circuit breaker is een patroon dat calls naar een falend systeem tijdelijk stopt. Als te veel requests mislukken of time-outs geven, gaat de breaker open. Nieuwe calls worden dan meteen geweigerd of krijgen een fallback, in plaats van opnieuw het falende systeem te belasten.
De naam komt van een elektrische zekering. Als er te veel fout loopt, onderbreek je de verbinding om grotere schade te vermijden.
In software helpt dit tegen cascade failures. Eén trage externe API mag niet je hele applicatie of datapijplijn vastzetten.
Een circuit breaker heeft meestal drie toestanden.
Closed. Alles werkt normaal. Calls gaan door naar de externe dienst.
Open. De foutgrens is overschreden. Calls worden tijdelijk niet doorgelaten.
Half-open. Na een wachttijd laat je enkele testcalls door. Slagen die, dan sluit de breaker opnieuw. Falen ze, dan blijft hij open.
De grens kan gebaseerd zijn op aantal fouten, foutpercentage, time-outs of een combinatie daarvan.
Bij externe API's. Je hebt geen controle over hun beschikbaarheid of snelheid.
Bij trage afhankelijkheden. Time-outs kunnen threads, workers of connecties uitputten.
Bij integratieplatformen. Eén kapotte connector mag de rest van de verwerking niet blokkeren.
Bij gebruikersschermen. Een fallback of nette foutmelding is beter dan eindeloos wachten.
Een retry zegt: probeer nog eens, want de fout is misschien tijdelijk. Een circuit breaker zegt: stop even, want het systeem faalt te vaak.
Ze horen vaak samen. Eerst probeer je een paar keer met exponential backoff. Blijven calls falen, dan opent de breaker en voorkom je dat elke nieuwe request dezelfde retry-storm begint.
Kies drempels bewust. Te gevoelig betekent onnodig open. Te traag betekent dat je alsnog overbelasting doorlaat.
Maak fallbacks eerlijk. Toon oude data of een beperkte functie alleen als dat duidelijk genoeg is voor het proces.
Monitor de toestand. Een breaker die vaak open gaat, wijst op een onderliggend probleem.
Gebruik time-outs. Zonder goede time-outs duurt het te lang voor de breaker leert dat iets faalt.
1. Is een circuit breaker hetzelfde als een rate limit?
Nee. Een rate limit beperkt hoeveel requests mogen binnenkomen. Een circuit breaker stopt calls omdat de afhankelijkheid faalt.
2. Moet elke API-call een circuit breaker hebben?
Niet altijd. Gebruik hem vooral voor afhankelijkheden waar traagheid of falen je eigen systeem kan meesleuren.
3. Lost een circuit breaker de fout op?
Nee. Hij beperkt schade en geeft tijd om te herstellen. De oorzaak moet je nog altijd oplossen.
Apache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerEen API gateway is de voordeur voor API-verkeer. Ze bundelt authenticatie, rate limits, routing, logging en soms transformatie, zodat achter...
Lees meerAPI-automatisering laat systemen via gedocumenteerde programmeerinterfaces gegevens en opdrachten uitwisselen. De automatisering gebruikt re...
Lees meerAt-least-once delivery is de garantie dat elk bericht minstens één keer aankomt. Verloren gaat het niet, maar door een retry na een gemiste ...
Lees meer
AI zit standaard in Google Workspace for Education en Microsoft 365 Education. Wat krijg je gratis, wat kost extra, wie mag wat per leeftijd...
Hoe kies je tussen Google Workspace en Microsoft 365 voor je school? Wat zit erin, waar zit het verschil, hoe past het op Smartschool en je ...