Backpressure
Backpressure signalisiert oder erzwingt, dass Produzenten ihre Rate an die Verarbeitungskapazität anpassen. Begrenzte Warteschlangen machen Überlast und Annahmegrenzen sichtbar.
- KapazitätDie Rechnungserstellung schafft nur eine feste Menge.
- Begrenzte QueueEine Obergrenze hält die Wartezeit klein.
- DrosselungDer Absender erfährt, dass er langsamer senden soll.
Einordnung
Warum das wichtig ist
Kommen Aufträge schneller an, als sie verarbeitet werden, wächst der Rückstau, bis Speicher und Wartezeiten das System ausbremsen. Backpressure macht die Grenze sichtbar und bremst den Zufluss. Bulkhead und Retry Storm vertiefen eigene Bausteine.
Dieser Baustein behandelt Lastfluss und Annahme. Bulkhead isoliert Ressourcenkontingente; Retry Storm beschreibt verstärkende Wiederholungswellen.
Auf einen Blick · Rückdruck bremst den Produzenten
Rückstau vor der Rechnungserstellung
Nach einer Rabattaktion treffen Bestellungen schneller ein, als die Rechnungserstellung sie verarbeitet. Der Shop begrenzt die Warteschlange und drosselt neue Hintergrundaufträge.
So liest du das Bild
- Kapazität Ab mehr als 40 Bestellungen/min wächst der Rückstau.
- Begrenzte Queue Mit Schalter bleibt die Queue bei 50 Plätzen stehen, die Wartezeit bei 1,3 min.
- Drosselung Mit Schalter zeigt die Zeile „Gedrosselt“, wie viele Aufträge je Minute zurückgehen.
Nutzen & Grenzen
Hilft, wenn
- Steuerbare Produzenten können ihre Rate an Nachfrage oder Annahmesignale des Verbrauchers anpassen.
- Pipelines mit begrenzten Zwischenpuffern benötigen beobachtbare Regeln für Rückstau und Fortsetzung.
Grenzen
- Quellen ohne Pausensignal erhalten eine begrenzte Annahme mit definierter Ablehnung, Aufbewahrung oder Verlustregel.
- Ein Puffer ohne Zuflusskontrolle erhöht nur Wartezeit und Speicherlast; überwache Größe und Alter der Queue zusammen mit der Verarbeitungsrate.
- Gedrosselte oder abgelehnte Aufträge brauchen eine Folge für den Aufrufer; klär sie mit Retry und Zustellung.
In der Praxis
- Rückkopplungspfad abbilden. Erfasse Produzenten, Puffer, Verbraucher und die Stelle, an der Rate oder Annahme gesteuert werden kann. Prüfe, ob das Signal bis zur Quelle weitergegeben wird. Das Ergebnis zeigt, ob Rückstau tatsächlich geregelt werden kann.
- Puffer und Reaktion begrenzen. Lege maximale Kapazität, Auftragsalter und Verhalten bei Erschöpfung fest. Bestimme, ob die Quelle pausiert, später fortsetzt oder eine Ablehnung verarbeitet. Damit werden Speicherverbrauch und Nutzerfolge berechenbar.
- Steuerwirkung messen. Beobachte Nachfrage, Durchsatz, Queuealter, Ablehnungen und Wiederaufnahme. Prüfe, ob sich die Rate bei nachlassender Kapazität tatsächlich verringert und nach Erholung kontrolliert steigt. Das Ergebnis ist ein nachweisbarer Lastregelkreis.
Ausführliche Erklärung lesen
Backpressure übermittelt vom Verbraucher zum Produzenten, wie viel weitere Arbeit angenommen werden kann. Nachfrage, Pausensignal oder kontrollierte Ablehnung begrenzen den Zufluss. Kleine, begrenzte Puffer gleichen kurzfristige Spitzen aus; dauerhafte Überlast erfordert eine Anpassung der Quelle oder eine definierte Ablehnung. Das Konzept wirkt entlang einer Pipeline und ergänzt die ressourcenseitige Abtrennung durch Bulkhead sowie die Zustellung über Queues, Pub/Sub & Streams.
Ein wachsender Puffer verschiebt Überlast in Speicherbedarf, Wartezeit und veraltete Arbeit. Daher gehören Queuegröße, maximales Alter und Fortsetzungsregel zur Kapazitätsvereinbarung. Backpressure greift nur, wenn das Signal eine steuerbare Quelle erreicht. Für nicht steuerbare Produzenten braucht der Empfänger eigene Annahmegrenzen und eine klare Behandlung abgewiesener Arbeit.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Wie lang wartet eine neue Rechnung bei 120 Bestellungen/min, ohne und mit begrenzter Queue?
Lösung mit Begründung ansehen
Ohne Begrenzung 20 min (800 Aufträge Rückstau nach 10 min). Mit Queue höchstens 1,3 min; 80 Aufträge/min werden gedrosselt.
AnwendenAuf eine neue Lage übertragen
Nach einer Rabattaktion erreicht die Rechnungsschlange ihre Grenze, während B-1042 eintrifft. Wie behandelt der Shop weitere Hintergrundaufträge?
Lösung mit Begründung ansehen
Er drosselt oder verzögert die Annahme und meldet die Kapazitätsgrenze an den Produzenten. Die Aufträge werden später erneut angeboten, statt die Queue unbegrenzt wachsen zu lassen.
BewertenEine Alternative abwägen
Die Queue erhält keine Grenze, damit kein Auftrag abgewiesen wird. Was spricht dafür, was dagegen?
Lösung mit Begründung ansehen
Dafür: Jeder Auftrag wird zunächst angenommen. Dagegen: Der Rückstau wächst unbemerkt, Rechnungen verzögern sich immer weiter, und die Überlast bleibt für den Produzenten unsichtbar.
Vertiefen
Diese optionalen Vertiefungen ergänzen das Lernziel dieser Seite.
Rate Limiting und Load Shedding
Rate Limiting setzt eine Annahmegrenze pro Zeit, Identität oder Ressource und schützt vor übermäßigem Zufluss. Load Shedding weist gezielt Arbeit ab, wenn Kapazität knapp ist. Backpressure signalisiert dagegen dem Produzenten, die Sendegeschwindigkeit zu senken oder zu pausieren. Im Shop kann ein Rate Limit Checkout-Anfragen je Kunde begrenzen, Load Shedding unwichtige Empfehlungen abweisen und Backpressure den Versandworker bei wachsender Warteschlange bremsen.
Zum AusprobierenOrdne für Katalog, Checkout und Versand zu, ob eine feste Rate-Grenze, gezieltes Abweisen oder ein Rücksignal an den Produzenten passt. Miss danach Wartezeit, Queuealter und Ablehnungen und prüfe, ob Kunden eine klare nächste Handlung erhalten.
Weiterführende Bausteine
Quellen
- Reactive Streams – Specification (öffnet in neuem Tab)Definiert nachfragegesteuerte Verarbeitung und nicht blockierenden Gegendruck.
- Node.js – Backpressuring in Streams (öffnet in neuem Tab)Erklärt begrenzte Puffer und Flusskontrolle anhand einer konkreten Laufzeit.
- Google SRE – Handling Overload (öffnet in neuem Tab)Zeigt Überlastschutz, Lastabweisung und die Begrenzung zusätzlicher Arbeit.