Circuit-Breaker-Muster fĂŒr DrittanbieterâAPIs in visuellen Workflows
Lernen Sie das Circuit-Breaker-Muster fĂŒr DrittanbieterâAPIs in visuellen Workflows: Schwellenwerte festlegen, Fallbacks routen, laute Wiederholungen blockieren und klare Warnungen senden.

Warum AusfĂ€lle von Drittanbieter-APIs mehr als ein Feature kaputtmachen\n\nEine einzelne Drittanbieter-API steht oft mitten in alltĂ€glichen AblĂ€ufen: Zahlungen abwickeln, Adressen prĂŒfen, Bestand synchronisieren, Nachrichten senden, IdentitĂ€ten verifizieren. Wenn dieser Anbieter Probleme hat, bricht selten nur ein Button. Ganze Flows können einfrieren, weil sie diese Antwort brauchen, um weiterzukommen.\n\nDeshalb ist ein Circuit-Breaker wichtig. Das ist keine Theorie, sondern eine praktische Methode, um Kernprozesse am Laufen zu halten, selbst wenn eine Integration ungesund ist.\n\nLangsam und ausgefallen schaden unterschiedlich.\n\nWenn eine API langsam ist, versucht Ihr Workflow weiterhin erfolgreich zu sein, aber jeder Schritt wartet. Nutzer sehen drehende Bildschirme, Support bekommt âes haktâ-Tickets und Hintergrundjobs stapeln sich. Langsam ist tĂŒckisch, weil es so aussehen kann, als wĂ€re Ihr eigenes System schuld.\n\nWenn eine API ausgefallen ist, erhalten Sie Timeouts oder harte Fehler. Das ist klarer, aber oft gefĂ€hrlicher, weil Workflows dazu neigen, zu wiederholen. Wenn viele Anfragen gleichzeitig wiederholt werden, entsteht ein Verkehrs-Sturm, der die Wiederherstellung erschwert und Ihr eigenes System mitziehen kann.\n\nTypische Symptome treten schnell auf: Timeouts, weiter wachsende Queues, partielle Aktualisierungen und viel manuelle Nacharbeit.\n\nDer eigentliche Schaden ist die Kettenreaktion. Ist ein Anbieter fĂŒr Versandkosten langsam, verlangsamt sich die Bestellabwicklung, weil der Workflow die Bestellung ohne ein Angebot nicht bestĂ€tigen will. Sind Zahlungen down, kann der Support keine RĂŒckerstattungen ausstellen, obwohl alles andere funktioniert.\n\nSie können nicht so tun, als gĂ€be es keine AusfĂ€lle. Das Ziel ist, Workflows mit klaren Fallback-Pfaden, temporĂ€ren Blockierregeln und Alarmierung zu entwerfen, damit das GeschĂ€ft weiter Bestellungen annimmt, Kunden bedient und Arbeit aufzeichnet, wĂ€hrend die Integration sich erholt.\n\n## Circuit-Breaker in einfachen Worten\n\nEin Circuit-Breaker ist ein Sicherheits-Schalter fĂŒr API-Aufrufe. Wenn ein Drittanbieter zu versagen beginnt, verhindert der Breaker, dass Ihr Workflow ihn immer wieder bombardiert. Statt einen Ausfall in langsame Bildschirme, Timeouts und feststeckende Jobs zu verwandeln, kontrollieren Sie die Blast-Range.\n\nEin Circuit-Breaker hat drei einfache AusgĂ€nge:\n\n- Den Aufruf erlauben, wenn der Anbieter gesund aussieht.\n- Den Aufruf blockieren, wenn Fehler hoch sind, und sofort einen Fallback-Pfad nehmen.\n- Einen begrenzten Testaufruf erlauben nach einer kurzen Pause, um zu prĂŒfen, ob der Anbieter zurĂŒck ist.\n\nWenn Sie Labels bevorzugen: das sind âgeschlossenâ, âoffenâ und âhalb-offenâ. Die Namen sind nicht der Punkt â Vorhersagbarkeit ist es. Wenn ein Anbieter krank ist, sollte Ihr Workflow jedes Mal gleich reagieren.\n\nDas verschleiert Fehler nicht. Sie zeichnen weiterhin AusfĂ€lle auf, zeigen einen klaren Status fĂŒr Nutzer oder Ops und alarmieren die richtigen Personen. Sie entscheiden, schnell zu scheitern, Arbeit zu einer sicheren Alternative zu routen oder kurz zu pausieren, bevor erneut getestet wird.\n\n## WĂ€hlen Sie, welche API-Aufrufe niemals das GeschĂ€ft stoppen dĂŒrfen\n\nCircuit-Breaker funktionieren am besten, wenn Sie selektiv sind. Nicht jeder Anbieter-Aufruf verdient besonderen Schutz. Beginnen Sie mit Schritten, die, wenn sie blockiert werden, Geld, Bestellungen oder Kunden-Zugriff stoppen.\n\nEine praktische Methode ist, einer Nutzeranfrage End-to-End zu folgen. Wo wĂŒrde ein Timeout den Nutzer zwingen, die Aufgabe abzubrechen, oder ein Durcheinander erzeugen, das Ihr Team spĂ€ter aufrĂ€umen muss?\n\nTypische Aufrufe, die das KerngeschĂ€ft nicht blockieren dĂŒrfen, sind Zahlungen, Versand und Fulfillment, Login/SSO/MFA, OTP- und BestĂ€tigungsnachrichten sowie Compliance-Checks, die an Genehmigungen hĂ€ngen.\n\nTrennen Sie auĂerdem nutzerorientierte Schritte von Hintergrund-Jobs. Wartet jemand am Checkout, brauchen Sie eine schnelle Entscheidung: erfolgreich, Fallback oder stoppen mit einer klaren Meldung. FĂŒr Hintergrundarbeiten wie das Synchronisieren von Tracking-Nummern sind langsamere Wiederholungen in Ordnung, solange sie den Hauptfluss nie blockieren.\n\nFangen Sie klein an, um Scope Creep zu vermeiden. SchĂŒtzen Sie zuerst 1â3 Workflows, und erweitern Sie dann.\n\nDefinieren Sie, was âsicherer Fallbackâ bedeutet, bevor Sie bauen. Gute Fallbacks sind spezifisch und testbar:\n\n- Zahlungen: speichern Sie die Bestellung als âZahlung ausstehendâ, damit der Warenkorb nicht verloren geht.\n- Versand: nutzen Sie eine zwischengespeicherte Rate, eine Pauschale oder bestĂ€tigen Sie die Bestellung und kaufen das Label spĂ€ter.\n- IdentitĂ€t: erlauben Sie Passwort-Login, wenn SSO ausfĂ€llt, oder wechseln Sie zu E-Mail-Verifizierung.\n- Messaging: legen Sie SMS in eine Warteschlange und bieten Sie, wo möglich, einen alternativen Pfad an.\n\nIn AppMasterâs Business Process Editor wird das meist zu einem sauberen Zweig: die Kernoperation lĂ€uft weiter, wĂ€hrend der anbieterabhĂ€ngige Schritt einen kontrollierten Alternativpfad nimmt.\n\n## ZustĂ€nde, Schwellen und Timer, die Sie erklĂ€ren können\n\nEin Circuit-Breaker ist ein Sicherheits-Schalter. Meistens lĂ€sst er Aufrufe durch. Wenn der Anbieter zu versagen beginnt, schlĂ€gt er um, um Ihren Workflow vor verschwendeter Zeit und Fehler-AufhĂ€ufung zu schĂŒtzen.\n\n### Die drei ZustĂ€nde\n\nGeschlossen ist normal. Sie rufen die API auf und machen weiter.\n\nWenn Fehler eine Grenze ĂŒberschreiten, geht der Breaker Offen. Sie hören auf, den Anbieter fĂŒr eine kurze Zeit anzurufen und leiten sofort zu einem Fallback (zwischengespeicherter Wert, Warteschlange, alternativer Flow).\n\nNach einer AbkĂŒhlzeit geht der Breaker Halb-offen. Sie erlauben eine kleine Anzahl Testaufrufe. Wenn diese erfolgreich sind, schlieĂen Sie wieder. Wenn sie fehlschlagen, öffnen Sie erneut.\n\n### Was zu messen ist\n\nVerwenden Sie Signale, die zeigen, wie der Anbieter versagt:\n\n- Timeouts\n- HTTP-5xx-Fehler\n- Steigende Latenz (zu langsam, um nĂŒtzlich zu sein)\n- Verbindungs-/DNS-Fehler\n- 429 Rate-Limits\n\nIn einem visuellen Workflow-Tool bilden diese sich meist als einfache Checks ab: Statuscode, verstrichene Zeit und spezifische Fehlerausgaben.\n\n### Anfangsschwellen und die zwei wichtigen Timer\n\nStarten Sie mit Zahlen, die leicht zu erklĂ€ren sind, und justieren Sie sie anhand des tatsĂ€chlichen Traffics. Beispiele:\n\n- Ăffnen Sie den Breaker, wenn 5â10 Aufrufe innerhalb von 30â60 Sekunden fehlschlagen.\n- Oder öffnen Sie, wenn 20â40 % der Aufrufe in einem rollenden Fenster fehlschlagen.\n- Behandeln Sie Latenz als Fehler, wenn sie lĂ€nger ist, als Ihr Prozess toleriert (oft 2â5 Sekunden).\n\nStellen Sie dann zwei Timer ein:\n\n- Cooldown-Zeit (Offen): oft 30 Sekunden bis 5 Minuten.\n- Half-open Testfenster: erlauben Sie 1â5 Testaufrufe oder ein kurzes Zeitfenster wie 10â30 Sekunden.\n\nDas Ziel ist klar: schnell scheitern, wenn der Anbieter ungesund ist, und automatisch wiederherstellen, wenn er zurĂŒck ist.\n\n## Schritt-fĂŒr-Schritt: Einen Circuit-Breaker in einem visuellen Workflow bauen\n\nDie wichtigste Designentscheidung ist, die Frage âSollten wir den Anbieter jetzt anrufen?â an einer Stelle zu treffen â nicht ĂŒber alle Workflows verstreut.\n\n### 1) Packen Sie den Anbieter-Aufruf hinter einen wiederverwendbaren Block\n\nErstellen Sie einen Sub-Prozess (einen wiederverwendbaren Workflow-Block), den jeder Workflow nutzt, wenn er den Anbieter braucht. In AppMaster passt das natĂŒrlich zu einem Business Process, den Sie von Endpunkten oder Automationen aufrufen können. Halten Sie ihn eng: Eingaben rein, Anbieteranforderung raus, plus ein klares Erfolgs-/Fehler-Resultat.\n\n### 2) Verfolgen Sie Fehler mit Zeit, nicht nur mit ZĂ€hlern\n\nSpeichern Sie jedes Ergebnis mit einem Zeitstempel. Halten Sie Dinge wie letzte erfolgreiche Anfrage, letzter Fehler, Fehler innerhalb eines Fensters, aktuellen Zustand und eine Cooldown-Deadline fest.\n\nPersistieren Sie diese Felder in einer Tabelle, damit der Breaker Neustarts ĂŒberlebt und ĂŒber mehrere Instanzen konsistent bleibt. PostgreSQL via Data Designer passt dafĂŒr gut.\n\n### 3) Definieren Sie ZustandsĂ€nderungen, denen Sie jedes Mal folgen\n\nHalten Sie die Regeln simpel. Beispiel: Wenn 5 Fehler innerhalb von 2 Minuten auftreten, wechseln Sie zu Offen. WĂ€hrend Offen ĂŒberspringen Sie den Anbieter-Aufruf, bis die Cooldown-Zeit abgelaufen ist. Nach Cooldown gehen Sie zu Halb-offen und erlauben einen kontrollierten Versuch. Gelingt er, schlieĂen Sie. Scheitert er, öffnen Sie wieder.\n\n### 4) Verzweigen Sie den Workflow: Anbieter-Pfad vs. Fallback-Pfad\n\nPrĂŒfen Sie vor dem Anbieter-Aufruf den gespeicherten Zustand:\n\n- Geschlossen: rufen Sie den Anbieter an und aktualisieren Erfolg oder Fehler.\n- Offen: ĂŒberspringen Sie den Aufruf und fĂŒhren den Fallback aus.\n- Halb-offen: erlauben Sie einen begrenzten Versuch und entscheiden Sie dann, ob Sie schlieĂen oder erneut öffnen.\n\nBeispiel: Wenn eine Versandlabel-API down ist, kann der Fallback die Bestellung mit dem Status âLabel pendingâ anlegen und einen Retry-Job einreihen, statt Checkout oder Lagerarbeit zu blockieren.\n\n### 5) Teilen Sie den Breaker ĂŒber Workflows hinweg\n\nHaben Sie mehrere Workflows und Server, mĂŒssen alle den gleichen Breaker-Zustand lesen und schreiben. Sonst kann eine Instanz den Anbieter weiter bombardieren, wĂ€hrend eine andere bereits pausiert hat.\n\n## Fallback-Pfade, die Arbeit weiterlaufen lassen\n\nEin Circuit-Breaker hilft nur, wenn Sie entscheiden, was passiert, wenn der Aufruf blockiert wird. Ein guter Fallback lĂ€sst den Nutzer weitermachen, schĂŒtzt Ihre Daten und macht spĂ€tere Nacharbeiten vorhersehbar.\n\nWĂ€hlen Sie einen Fallback passend zur Aufgabe. Wenn ein Versandraten-Anbieter ausfĂ€llt, brauchen Sie nicht immer den exakten Preis, um die Bestellung anzunehmen. In einem visuellen Workflow routen Sie den fehlgeschlagenen API-Schritt in einen Fallback-Zweig, der dennoch ein brauchbares Ergebnis liefert.\n\nIn der Praxis sehen Fallbacks meist so aus:\n\n- Einen zuletzt bekannten Wert cachen (mit klarer Frischebegrenzung).\n- Eine sichere Standard-SchĂ€tzung nutzen, deutlich gekennzeichnet.\n- Zur manuellen PrĂŒfung routen.\n- Die Arbeit fĂŒr spĂ€ter zum Retry in die Warteschlange stellen (asynchron).\n\nDie Nutzererfahrung ist genauso wichtig wie die Logik. Zeigen Sie keinen vagen Fehler. Sagen Sie, was passiert ist und was der Nutzer als NĂ€chstes tun kann: âWir konnten die Rate gerade nicht bestĂ€tigen. Sie können die Bestellung mit geschĂ€tzten Versandkosten aufgeben oder sie zur PrĂŒfung speichern.â\n\nPlanen Sie auĂerdem fĂŒr kurze vs. lange AusfĂ€lle. Ein kurzer Ausfall (Minuten) bedeutet oft âweiterlaufen, im Hintergrund wiederholenâ. Ein lĂ€ngerer Ausfall (Stunden) kann strengere MaĂnahmen erfordern, wie mehr manuelle PrĂŒfungen oder Freigaben.\n\nVerfolgen Sie jeden Fallback, damit die Nachbearbeitung einfach ist. Mindestens sollten Sie Fallback-Typ, ursprĂŒngliche Anfrage-Daten, was dem Nutzer zurĂŒckgegeben wurde (und ob es eine SchĂ€tzung war) sowie einen Status fĂŒr Follow-up protokollieren.\n\n## TemporĂ€re Blockierregeln und intelligentere Retries\n\nUnkontrollierte Retries verwandeln kleine Anbieter-Störungen in echte AusfĂ€lle. Wenn viele Workflows gleichzeitig wiederholen, entsteht ein Spike (das âthundering herdâ-Problem). Der Anbieter wird langsamer, Ihre Queues wachsen und Sie verbrauchen Rate-Limits.\n\nRetries sollten vorhersehbar und begrenzt sein und den Breaker-Zustand respektieren. Eine praktische Richtlinie ist:\n\n- Halten Sie max. Retries niedrig (oft 2â3).\n- Nutzen Sie exponentielles Backoff (z. B. 2s, 8s, 30s).\n- FĂŒgen Sie Jitter hinzu, damit Retries nicht synchron laufen.\n- Begrenzen Sie die Gesamt-Retry-Zeit (z. B. 60â90 Sekunden).\n- Ist der Breaker Offen, nicht erneut versuchen â direkt zum Fallback.\n\nTemporĂ€res Blockieren ist verwandt, aber unterscheidbar. Es gilt, wenn die Antwort sagt âdas funktioniert gerade nichtâ. Ăbliche Regeln:\n\n- 429 Rate-Limit: blockieren Sie fĂŒr die Retry-After-Periode (oder ein sicheres fixes Fenster).\n- 401/403 Auth-Fehler: blockieren Sie, bis Zugangsdaten erneuert sind, und testen Sie dann einmal.\n- Konsequente 5xx: blockieren Sie kurz und erlauben dann einen kleinen Test.\n\nWĂ€hrend einer Blockade entscheiden Sie, was mit bereits laufender Arbeit passiert: in die Warteschlange, umleiten oder degradiert weiterverarbeiten (z. B. Bestellung annehmen, aber âSMS versendenâ verzögern).\n\n## Alerting, das sagt, was zu tun ist\n\nEin Circuit-Breaker hilft nur, wenn Menschen schnell davon erfahren und wissen, was zu tun ist. Das Ziel ist kein Rauschen, sondern eine klare Nachricht, wenn sich das Verhalten Ă€ndert: Aufrufe werden blockiert, Fallbacks sind aktiv oder der Breaker ist lĂ€nger als erwartet offen.\n\nGute Standard-Trigger:\n\n- Alarm, wenn der Breaker öffnet.\n- Alarm, wenn er lĂ€nger als eine vorgegebene Zeit offen bleibt.\n- Alarm bei starkem Anstieg von Fehlern, noch bevor er öffnet.\n\nMachen Sie Alerts handlungsfĂ€hig. Nennen Sie Anbieter und Endpoint, aktuellen Zustand und wann er sich Ă€nderte, was Nutzer spĂŒren, was der Workflow gerade tut (blockiert, wiederholt, Fallback), und einen vorgeschlagenen nĂ€chsten Schritt.\n\nLeiten Sie Alerts nach Schwere. Eine nicht-kritische Enrichment-API kann per E-Mail gehen. Zahlungen, Login oder BestellĂŒbermittlung verdienen normalerweise Pager. In AppMaster lĂ€sst sich das sauber abbilden mit Zweigen, die E-Mail, Telegram oder SMS basierend auf einer Schwere-Flag senden.\n\nVerfolgen Sie eine kleine Metrik-Auswahl, damit Sie sehen, ob Sie sich erholen: Blockierte Aufrufe und Fallback-Nutzung pro Anbieter reichen oft aus.\n\n## Beispiel-Szenario: Anbieter-Ausfall ohne Bestellstopp\n\nEin hĂ€ufiger Fehler: Ihr Versandraten-Anbieter fĂ€llt genau dann aus, wenn Kunden im Checkout sind. Wenn Ihr Workflow wĂ€hrend der Bestellerstellung auf Live-Raten besteht, kann ein einziger Ausfall Bestellungen komplett stoppen.\n\nAn einem normalen Tag wird die Bestellung erstellt, dann fragt der Workflow Live-Raten an und die Bestellung wird mit dem gewĂ€hlten Carrier und Preis gespeichert.\n\nWenn der Anbieter zu versagen beginnt, laufen Aufrufe in Timeouts oder liefern 5xx-Fehler. Sobald Ihr Schwellenwert erreicht ist (z. B. 5 Fehler in 2 Minuten), öffnet der Breaker.\n\nWĂ€hrend Offen stoppt der Workflow fĂŒr ein kurzes Fenster (z. B. 10 Minuten) Aufrufe an den Versandanbieter. Das verhindert, dass ein fehlernder Anbieter den Checkout fĂŒr alle blockiert.\n\nStatt den Checkout zu blockieren, kann der Fallback:\n\n- Eine Pauschale anwenden (oder eine sichere SchĂ€tzung).\n- Die Bestellung trotzdem anlegen.\n- Sie als âShipping rate pendingâ markieren fĂŒr spĂ€tere Neuberechnung.\n- Anbieter-Fehlerdetails zum Nachverfolgen speichern.\n\nIn AppMaster ist das ein klarer Zweig im Business Process Editor, gestĂŒtzt durch Data Designer-Felder wie shipping_rate_status und shipping_rate_source.\n\n## Schnelle Checks vor dem Go-Live\n\nEin Circuit-Breaker sollte unter Last genauso reagieren wie in einer Demo. Vor dem Release prĂŒfen Sie die Basics:\n\n- Schwellen und Cooldowns sind dokumentiert und leicht Ă€nderbar.\n- Der offene Zustand blockiert Aufrufe sofort (ohne bloĂ auf Anbieter-Timeouts zu warten).\n- Fallback-Verhalten ist sicher in Bezug auf Geld und Kunden-Versprechen.\n\n- Halb-offen-Probing ist auf wenige Testaufrufe beschrĂ€nkt.\n\n- Logs machen Zeitpunkt und Impact leicht beantwortbar.\n\nVerbringen Sie extra Zeit auf Fallback-Sicherheit. Ein Fallback, der âArbeit weiterlaufen lĂ€sstâ, kann auch finanzielles Risiko erzeugen. Ist der Zahlungsanbieter down, ist es gefĂ€hrlich, Bestellungen als bezahlt zu markieren. Eine sicherere Vorgehensweise ist âZahlung ausstehendâ, mit klarer Kundenkommunikation.\n\nTesten Sie die Wiederherstellung gezielt. Erzwingen Sie Fehler, beobachten Sie, wie der Breaker öffnet, warten Sie die Cooldown-Zeit ab und bestĂ€tigen Sie, dass Halb-offen nur eine kleine Probe sendet. Gelingt sie, sollte der Breaker schnell schlieĂen. Scheitert sie, sollte er wieder öffnen, ohne den Anbieter zu fluten.\n\nIhre Logs sollten in unter einer Minute beantworten können: Wer war betroffen, wann begann es, welcher Workflow-Schritt hat den Breaker ausgelöst und welcher Fallback wurde genutzt.\n\n## NĂ€chste Schritte: Das Muster in AppMaster implementieren\n\nWĂ€hlen Sie eine Integration, die den tĂ€glichen Betrieb stark gefĂ€hrdet, wenn sie ausfĂ€llt (Zahlungen, Versand-Labels, SMS, CRM-Sync). Bauen Sie den Breaker End-to-End fĂŒr genau diesen Aufruf zuerst. Wenn das Team dem Verhalten vertraut, wiederholen Sie die gleiche Vorlage fĂŒr den nĂ€chsten Anbieter.\n\nIn AppMaster modellieren Sie den Breaker-Zustand in PostgreSQL mit dem Data Designer. Halten Sie es einfach: ein Datensatz pro Anbieter (oder Endpoint) mit Feldern wie state, failure_count, last_failure_at, open_until und einem kurzen last_error.\n\nImplementieren Sie dann die Logik im Business Process Editor mit gut lesbaren Verzweigungen. Klarheit schlĂ€gt Cleverness.\n\nEine praktische Build-Reihenfolge:\n\n1. PrĂŒfen Sie den Breaker-Zustand und blockieren Sie Aufrufe, wenn open_until in der Zukunft liegt.\n2. Rufen Sie die Anbieter-API auf und erfassen Sie sowohl Erfolg als auch Fehlerausgaben.\n3. Bei Erfolg: ZĂ€hler zurĂŒcksetzen und Breaker schlieĂen.\n4. Bei Fehler: ZĂ€hler erhöhen und Breaker öffnen, wenn Schwellen erreicht sind.\n5. Routen Sie nutzergerichtete Flows zu einem Fallback (Warteschlange, zwischengespeicherte Daten oder manuelle Verarbeitung).\n\nDokumentieren Sie die Fallback-Entscheidung in einfacher Sprache, damit Support und Ops wissen, was Nutzer sehen.\n\nWenn der Breaker öffnet, benachrichtigen Sie einen Owner mit den Messaging-Modulen von AppMaster (E-Mail, SMS, Telegram). FĂŒgen Sie die relevanten Infos bei: Anbieter, Endpoint, Zustand und die erste empfohlene MaĂnahme.\n\nWenn Sie diese Workflows in AppMaster bauen, ist appmaster.io ein praktischer Einstiegspunkt, weil derselbe visuelle Business Process Endpunkte, Hintergrund-Jobs und Alerting mit einem gemeinsamen Breaker-Zustand treiben kann.
FAQ
Ein Circuit-Breaker verhindert wiederholte Aufrufe an einen fehlerhaften Anbieter und erzwingt ein schnelles, vorhersagbares Ergebnis. Statt auf Timeouts zu warten und Wiederholungen aufzubauen, fahren Sie entweder normal fort, wĂ€hlen sofort einen Fallback-Pfad oder erlauben nach einer AbkĂŒhlzeit einen kleinen Testaufruf.
Es lohnt sich, wenn ein Anbieter-Aufruf Geld, Bestellungen oder Kunden-Zugriff blockieren kann oder wenn Fehler eine schwer bereinigbare Warteschlange erzeugen. SchĂŒtzen Sie zuerst 1â3 stark betroffene Workflows wie Checkout-Zahlungen, Versandraten/-labels, Login/SSO oder OTP-Zustellung.
âLangsamâ lĂ€sst Ihr System wie defekt erscheinen, weil Nutzer warten, Seiten drehen und Jobs sich stauen, auch wenn der Anbieter schlieĂlich antwortet. âDownâ ist klarer, kann aber schlimmer sein, weil viele Systeme aggressiv wiederholen, einen Traffic-Sturm erzeugen und die Wiederherstellung verzögern.
Geschlossen bedeutet, Aufrufe sind wie gewohnt erlaubt. Offen heiĂt, Aufrufe werden fĂŒr eine kurze Zeit blockiert und Ihr Workflow verwendet sofort einen Fallback. Halb-offen bedeutet, nach einer AbkĂŒhlzeit sind wenige Testaufrufe erlaubt, um zu prĂŒfen, ob der Anbieter wieder gesund ist.
Nutzen Sie Signale, die echten Ausfall abbilden: Timeouts, HTTP-5xx, Verbindungs-/DNS-Fehler, Rate-Limits (429) und Latenz, die fĂŒr Ihren Workflow unbrauchbar wird. Behandeln Sie âzu langsam, um nĂŒtzlich zu seinâ als Fehler, damit Sie schnell statt endlos warten.
Starten Sie mit einfach erklĂ€rbaren Regeln und justieren Sie anhand des Traffics. Ein gĂ€ngiges Setup: Ăffnen nach 5â10 Fehlern innerhalb von 30â60 Sekunden oder wenn 20â40 % der Aufrufe in einem rollenden Fenster fehlschlagen; Latenz ĂŒber 2â5 Sekunden zĂ€hlt bei nutzerorientierten Schritten als Fehler.
Ein sicherer Default fĂŒr Cooldown (Offen): 30 Sekunden bis 5 Minuten, damit Sie den Anbieter nicht weiter feuern. Im Halb-offen-Zustand nur 1â5 Testaufrufe oder ein kurzes Fenster (z. B. 10â30 Sekunden) erlauben, damit Sie ohne Ăberflutung schnell wiederherstellen können.
WĂ€hlen Sie einen Fallback, der Arbeit weiterlaufen lĂ€sst, ohne das Ergebnis vorzutĂ€uschen. Beispiele: Bestellung als âZahlung ausstehendâ speichern, zwischengespeicherte oder pauschale Versandrate mit Kennzeichnung nutzen, Nachrichten in eine Warteschlange legen oder zur manuellen PrĂŒfung routen.
Begrenzen Sie Wiederholungen (oft 2â3), nutzen Sie exponentielles Backoff, fĂŒgen Sie Jitter hinzu und begrenzen die Gesamt-Wartezeit, damit Queueing vermieden wird. Ist der Breaker offen, nicht erneut versuchen â direkt zum Fallback, um einen Thundering-Herd zu vermeiden.
Alerten Sie, wenn der Breaker öffnet, wenn er zu lange offen bleibt und wenn Fehler stark ansteigen, noch bevor er öffnet. Jede Meldung sollte Anbieter/Endpoint, aktuellen Zustand, den wahrnehmbaren Effekt fĂŒr Nutzer, den aktiven Fallback, Zeitpunkt der ZustandsĂ€nderung und den nĂ€chsten Handlungsschritt enthalten.


