Was ist Datendruck?
Im Zusammenhang mit durchgehend laufenden Systemen hort man oft von Datendruck. Was ist das eigentlich und warum ist es so wichtig?
Druck im physikalischen Sinn beschreibt ein Ungleichgewicht zwischen Gasen oder Flussigkeiten in zwei abgeschlossenen Bereichen. Er wirkt in beide Richtungen, bis ein Gleichgewicht erreicht ist. Wenn man ihn steuern will, setzt man normalerweise ein Ventil zwischen die beiden Bereiche.
In Datenverarbeitungssystemen beschreibt Datendruck oder Upstream-Druck die Datenmenge, die zur Verarbeitung bereitsteht. Bei dateibasierten (Batch-)Losungen beschreibt er ganz einfach die Anzahl der Dateien, die auf ihre Verarbeitung warten (asynchron). Die Verarbeitungsgeschwindigkeit hangt dabei ausschliesslich von der Rechenleistung der nachgelagerten Akteure ab und ist bedarfsorientiert. Datendruck im Batch-Betrieb stellt in der Regel keine Gefahr fur eine Systemuberlastung dar, weil er implizit ist. Das Batch-System verarbeitet immer nur so viel, wie es bewaltigen kann.
Ganz anders sieht es jedoch in modernen, nachrichtengetriebenen Echtzeitumgebungen aus. Dort ist Datendruck explizit, weil Daten in dem Moment verarbeitet werden mussen, in dem sie eintreffen.
Warum back-pressure in unterbrechungsfreien Echtzeitsystemen so wichtig ist
Nachrichtengetriebene Anwendungsfalle verlangen in der Regel, dass Daten jederzeit in Echtzeit verarbeitet werden. Deshalb mussen Systeme elastisch skalieren konnen, um Spitzenlasten zu bewaltigen oder in Phasen geringen Datendrucks unnotige Ressourcen wieder freizugeben.
Es gibt zahllose Beispiele fur Architekturen, die bei grossen Datenmengen verstopfen. Das fuhrt oft zu einem Teufelskreis, der typischerweise im Herzstillstand einer solchen Architektur endet. Das Hauptproblem ist ein fehlendes negatives Bedarfssignal (oder ein starkes back-pressure-Signal) an die vorgelagerten Akteure, auf das sie reagieren konnten. Gabe es ein solches Signal, konnten geeignete Massnahmen ergriffen werden.
Solche Massnahmen konnten zum Beispiel sein:
- die Verarbeitung insgesamt stromaufwarts zu verlangsamen oder
- zusatzliche Verarbeitungskapazitat bereitzustellen, um den zusatzlichen Druck abzufangen
Sobald der vorgelagerte Datendruck wieder sinkt, konnen diese Gegenmassnahmen wieder zuruckgenommen werden. Es konnen wieder mehr Daten geliefert oder zuvor aktivierte Verarbeitungskapazitaten wieder abgeschaltet werden.
Zusammengefasst haben wir also:
- ein Datensignal oder Upstream-Druck, das signalisiert, dass Daten zur Verarbeitung verfugbar sind, und
- ein Bedarfssignal oder back-pressure, das signalisiert, wie stark die nachgelagerten Akteure ausgelastet sind und ob Druck von vorgelagerten Akteuren an nachgelagerte weitergegeben werden kann.

Mit diesen Signalen kann das System ein Gleichgewicht zwischen allen Beteiligten aushandeln, das sicherstellt, dass die Verarbeitung nie stehen bleibt, sondern sich verlangsamt oder automatisch zusatzliche Kapazitat bereitgestellt wird. Dieses Problem ist im Reactive Manifesto klar beschrieben. Es fordert, dass Systeme nachrichtengetrieben, elastisch und resilient sind und deshalb unter Last reaktionsfahig bleiben. Systeme, die diese Anforderungen erfullen, nennt man "reaktiv".

Wie layline.io damit umgeht
Es klingt so, als ware die Losung fur das back-pressure-Problem einfach. Tatsachlich ist sie aber schwer umzusetzen, weil alle Beteiligten in diesem Zusammenspiel Datendruck in beide Richtungen verstehen mussen. Das Management reaktiver Datenstrome hat dieses Problem gelost, weshalb layline.io diese Fahigkeiten unter der Haube konsequent nutzt. Fur Unerfahrene ist das allerdings kein leichtes Terrain und bringt eine steile Lern- und Erfahrungskurve mit sich. layline.io schirmt seine Nutzer von dieser Komplexitat ab und bietet eine leicht bedienbare Plattform mit allen produktionsrelevanten Funktionen wie UI-gesteuerter Low-Code-Konfiguration, One-Click-Deployment, Monitoring und vielem mehr.

Ressourcen
- Reactive Manifesto
- Lesen Sie hier mehr uber layline.io.
- Kontaktieren Sie uns unter hello@layline.io.



