Interaktives Labor
Die Pipeline herausfordern
Ein lebendes Modell eines Queue-basierten, eventgetriebenen Systems: Producer, eine API, eine Queue, ein begrenzter Worker-Pool, ein idempotenter Store und eine Dead-Letter-Queue. An den Reglern drehen, Störungen auslösen und zusehen, wie es sich erholt.
Animiertes Diagramm: Events fließen von drei Producern über eine API in eine Queue, werden von einem Worker-Pool abgeholt und in einen Store geschrieben. Fehlgeschlagene Versuche laufen mit Backoff zurück, dauerhaft fehlschlagende Nachrichten landen in der Dead-Letter-Queue, Duplikate werden am Store abgefangen. Die Kennzahlen und der Ereignis-Feed darunter beschreiben denselben Zustand als Text.
Szenarien
Last deutlich unter der Kapazität. Die Queue bleibt fast leer, vereinzelte Fehler werden still wiederholt.
Steuerung
Parallel arbeitende Worker. Mehr Lanes, mehr Kapazität.
Events pro Sekunde, die die Producer senden.
Mittlere Dauer eines Versuchs im Worker.
Wahrscheinlichkeit, dass ein Versuch scheitert und wiederholt wird.
Wahrscheinlichkeit, dass ein Event nie erfolgreich sein kann.
At-least-once: Wahrscheinlichkeit, dass eine Zustellung doppelt ankommt.
Versuche, bevor eine Nachricht in die DLQ wandert.
Wartezeit vor dem ersten Retry; verdoppelt sich pro Versuch.
Live-Kennzahlen
- Durchsatz
- –/s
- Queue-Tiefe
- –
- In Bearbeitung
- –
- Älteste Nachricht
- –s
- Retries
- –
- Dead Letters
- –
- Abgefangene Duplikate
- –
Ankünfte vs. Durchsatz
- Ankünfte
- Durchsatz
- Kapazität
Was gerade passiert
- Bisher ruhig. Ein Szenario wählen oder einen Burst senden.
Zum Ausprobieren
- „Lastspitze“ starten, den Rückstau abwarten, dann die Nebenläufigkeit erhöhen und messen, wie lange der Abbau dauert.
- Transiente Fehler auf 40 % und maxReceiveCount auf 1 stellen: Jeder Fehler geht direkt in die DLQ. Danach 5 Versuche erlauben.
- Eine Poison Message einschleusen und verfolgen: drei Versuche, längere Backoffs, dann die DLQ, während alles andere weiterfließt.
- Duplikate auf 20 % drehen und auf den Store achten: „verarbeitet“ zählt kein Event doppelt.
Ein Lehrmodell, kein Benchmark: Zeiten und Raten sind vereinfacht und beschreiben kein reales Produktivsystem.