Wenn eine Abhängigkeit kollabiert: Unser Incident-Post-Mortem vom 22.–23. Juni
Am 22. Juni 2026 erlitt unser primärer Partner für asynchrone Aufgaben und Queue-Management, Trigger.dev, einen katastrophalen, regionsübergreifenden Kaskadenausfall. Da unsere zentrale Plattform-Infrastruktur stark auf ihre Engine angewiesen ist, um Hintergrundjobs, Webhooks und kritische Workflows zu verarbeiten, löste dieser Ausfall im Upstream sofort einen schwerwiegenden Incident für unsere eigene Anwendung aus. Trigger.dev hat hier ihre eigene transparente technische Aufarbeitung veröffentlicht: [Trigger.dev Incident Report (June 22, 2026)](https://trigger.dev/blog/incident-report-jun-22-2026). Unten findest du die abgestimmte Aufschlüsselung, wie sich der Infrastrukturfehler direkt auf unseren internen technischen Zeitverlauf auswirkte und wie wir uns aus einer kompletten Dunkelphase herausgearbeitet haben.

Der abgestimmte Zeitverlauf
| Zeit (UTC) | Was upstream geschah (Vollständiger Bericht) | Was intern geschah / unsere Erfahrung |
|---|---|---|
| 22. Juni, 19:00 | Der Auslöser: AWS-Kapazitätsengpass in us-east-1 lässt ~10.000 Runs in den Upstream-Queues auflaufen. | Unsere Hintergrundaufgaben beginnen stillzustehen. Im Hintergrund wachsen die Queues an. |
| 22. Juni, 20:09 | Der Kollaps: Das Upstream-Kubernetes-Control-Plane erreicht 100 % CPU, verliert den Datenbank-Quorum und **us-east-1** fällt komplett aus. | Unsere Produktionsumgebung verarbeitet keine Runs mehr. Tausende Aufgaben sind plattformweit im Rückstau gefangen. |
| 22. Juni, 21:58 | Das Upstream-Engineering kämpft aktiv gegen eine "Reconnect-Storm"-Schleife. | Incident gemeldet: Erhöhte Fehlerraten werden festgestellt, und ein interner Incident-Raum wird eingerichtet. |
| 23. Juni, 00:59 | Der Upstream-Anbieter empfiehlt den Nutzern, ihre Workloads manuell in die Region eu-central-1 zu verschieben. | Incident-Leitung zugewiesen: Der Incident-Response-Raum wird vollständig aktiviert, mit einer zugewiesenen Leitung für die regionsübergreifende Bewertung. |
| 23. Juni, 01:01 - 02:10 | Der Upstream-Anbieter spielt ein Notfall-Dashboard-Update ein, um Runs gesammelt zwischen Regionen verschieben zu können. | Aktive Schadensbegrenzung: Um 01:10 storniert das Team manuell unsere in der Warteschlange befindlichen US-Runs, um die blockierte Ausführungskapazität unseres Kontos freizugeben, und leitet sämtlichen neuen Traffic in die europäische Region um. Um 02:10 werden Nachrichten wieder verarbeitet. |
| 23. Juni, 02:02 - 02:33 | Der Upstream-Anbieter skaliert seinen Datenbank-Backing-Store manuell hoch. | Schweregrad auf kritisch hochgestuft: Über 30.000+ unserer eigenen Aufgaben warten jetzt in der Queue. Das Team veröffentlicht ein kritisches Statusupdate auf unserer öffentlichen Statusseite. |
| 23. Juni, 04:35 - 05:05 | Upstream-Infrastruktur-Updates verlangsamen die Ausführung wieder auf Schritttempo. | Der Webhook-Engpass: Die Verarbeitungsraten sinken. Um 05:05 erkennen wir, dass unsere Queue für die Zustellung von Webhooks der primäre Engpass ist und nicht geleert wird. |
| 23. Juni, 08:38 | Die zweite Kaskade: Umgeleiteter globaler Traffic überlastet die europäische Region des Anbieters und nimmt sie komplett offline. | Völliger Stillstand: Beide Upstream-Regionen sind jetzt faktisch tot. Über 13.000+ Aufgaben sind bei uns eingefroren, vollständig abhängig von der Wiederherstellung im Upstream. |
| 23. Juni, 10:34 | Das Upstream-Engineering kämpft darum, die europäische Region wieder online zu bringen. | Bereitstellung des Circuit Breakers: Da die primäre Ebene für die Hintergrundverarbeitung komplett festhängt, wechselt unser Team von Infrastruktur-Maßnahmen zu einem architektonischen Umweg. Wir spielen einen Notfall-Hotfix über alle zentralen Anwendungs- und API-Umgebungen ein, um das asynchrone Aufgabenmanagement vorübergehend zu deaktivieren. |
| 23. Juni, 10:41 | Der Upstream-Anbieter arbeitet weiterhin daran, die Nodes seines Control Plane zu vergrößern. | Sofortige Entlastung: Der architektonische Umweg funktioniert einwandfrei. Indem wir die eingefrorenen Hintergrund-Queues umgehen, fallen kritische App-Prozesse auf direkte Ausführungspfade zurück. Engineering bestätigt: "Emails are flowing again." |
| 23. Juni, 17:06 | Der Upstream-Anbieter stabilisiert schließlich beide Regionen und stellt die Verarbeitungsgeschwindigkeiten wieder her. | Queue geleert: Engineering bestätigt, dass unsere Queues in beiden Regionen vollständig leer sind. Die Systemleistung kehrt zur Normalität zurück. |
| 23. Juni, 19:31 | Die Stabilität nach der Wiederherstellung hält an. | Incident behoben: Die Systeme laufen vollständig nominal; das Team geht in den Post-Incident-Review-Flow über. |
Zentrale Erkenntnisse & unsere Bewertung der Erfahrung
Während sich das Upstream-Post-Mortem auf Datenbank-Tuning und Cluster-Infrastruktur konzentrierte, liegt unser internes Fazit auf graceful degradation und architektonischer Resilienz.
1. Die Stärke des "Kill Switch"
Der prägendste Moment unserer Wiederherstellung war um 10:34 UTC. Als die zweite Region unseres Anbieters kollabierte, wechselten wir von dem Versuch, Hintergrund-Queues zu verwalten, zu einem strukturellen Umgehungsweg.
-
Der Umgehungsweg: Durch eine globale Konfigurationsänderung zum Deaktivieren der Hintergrundverarbeitung haben wir die Verbindung zu unserer defekten Abhängigkeit faktisch gekappt. Dadurch mussten kritische Nutzertransaktionen, wie E-Mails zur Buchungsbestätigung, vorübergehend die eingefrorene Hintergrund-Engine umgehen und direkt verarbeitet werden.
-
Innerhalb von 7 Minuten waren die zentralen Geschäftsabläufe für unsere Nutzer wieder vollständig hergestellt, was beweist, dass eingebaute, umschaltbare Fallback-Pfade für große Drittanbieter-Abhängigkeiten eine unverzichtbare Voraussetzung für hohe Verfügbarkeit sind.
2. Multi-Region-Parallelitätsfallen managen
Während der Mitigationsphase brachte das Navigieren eines Multi-Region-Setups unerwartete Plattformgrenzen mit sich. Aufgaben, die in der US-Region in einer Zwischenphase festhing, verbrauchten weiterhin die globale Ausführungskapazität unseres Kontos, selbst nachdem wir unsere Anwendung auf Europa umgestellt hatten.
- Das gezielte Massenstornieren des festhängenden US-Pools um 01:10 war entscheidend, um Ausführungskapazität in unserer neu anvisierten europäischen Region freizugeben.
3. Härtung gegen den Blast Radius im Upstream
Obwohl unser Notfall-Fallback den Tag für geschäftskritische Abläufe wie E-Mails gerettet hat, saßen immer noch über 13.000+ Aufgaben tot in eingefrorenen Upstream-Queues, bis der Anbieter sich vollständig erholt hatte.
- Der Weg nach vorn: Für die Zukunft prüfen wir das Design eines stärker lokal begrenzten Puffers. Für Hintergrundjobs oder ausgehende Webhooks evaluieren wir die Implementierung einer leichten internen Staging-Queue, die Aufgaben während eines Ausfalls im Upstream lokal speichern kann und beim Wiederabspielen die richtige Reihenfolge sicherstellt.
Zusammenfassung
Am Ende hat unser Engineering-Team erfolgreich eine komplexe regionsübergreifende Parallelitätsfalle diagnostiziert, den Traffic umgelenkt und einen kreativen architektonischen Umgehungsweg bereitgestellt, der unsere Nutzererfahrung Stunden rettete, bevor unser Anbieter seine Infrastruktur stabilisieren konnte.
Wir wissen, dass das ein sehr schwieriger Moment für das Trigger.dev-Team war. Wir respektieren sie und pflegen weiterhin eine großartige Partnerschaft. Dieser Beitrag soll einfach unsere Seite des Incidents und die Reaktion unseres Teams teilen.
