Eine Queue – auf Deutsch Warteschlange – ist eine Datenstruktur oder ein Systemkomponent, das eingehende Aufgaben, Nachrichten oder Datensätze aufnimmt, speichert und in der Reihenfolge ihres Eingangs (FIFO: First In, First Out) zur Verarbeitung bereitstellt. Sie entkoppelt den Eingang von Aufgaben von ihrer Verarbeitung: Aufgaben können schneller eingehen, als sie verarbeitet werden können – die Queue puffert die Differenz, ohne dass Daten verloren gehen oder das Gesamtsystem überlastet wird.
Queues sind ein fundamentales Konzept in verteilten Systemen, Automatisierungsarchitekturen und Nachrichtenverarbeitung. Sie sorgen dafür, dass Systeme unter Last stabil bleiben, dass kein Vorgang verloren geht – auch wenn das verarbeitende System vorübergehend nicht verfügbar ist – und dass Verarbeitung asynchron und kontrolliert stattfinden kann.
Wie eine Queue funktioniert
Queue-Prinzip: FIFO — First In, First Out
Eingang 1→Eingang 2→Eingang 3→wartet…→In Verarbeitung→Abgeschlossen
Eingang
Wartend
In Verarbeitung
Abgeschlossen
Warum Queues in der Automatisierung unverzichtbar sind
- Lastverteilung (Load Leveling): Spitzen im Eingangsvolumen werden abgepuffert – das verarbeitende System wird nicht überflutet, sondern arbeitet kontrolliert seine Queue ab
- Entkopplung von Systemen: Sender und Empfänger müssen nicht gleichzeitig verfügbar sein – der Sender schreibt in die Queue, der Empfänger liest, wenn er bereit ist
- Zuverlässigkeit: Nachrichten in einer Queue gehen nicht verloren, auch wenn das verarbeitende System kurzzeitig ausfällt – sie warten, bis es wieder verfügbar ist
- Parallelverarbeitung: Mehrere Worker-Prozesse können gleichzeitig aus derselben Queue lesen und unterschiedliche Einträge parallel verarbeiten
- Retry-Integration: Fehlgeschlagene Verarbeitungen werden zurück in die Queue gestellt und erneut versucht – oft in Kombination mit Retry-Logik
Dead Letter Queue (DLQ)
Eine Dead Letter Queue ist eine spezielle Queue, in die Nachrichten oder Aufgaben verschoben werden, die nach mehreren Verarbeitungsversuchen weiterhin scheitern. Sie verhindert, dass dauerhaft fehlerhafte Einträge die reguläre Queue blockieren oder endlos wiederholt werden. Einträge in der DLQ werden von einem Menschen oder einem separaten System analysiert, korrigiert und gegebenenfalls erneut verarbeitet.
Praxisbeispiel
Ein Logistikdienstleister verarbeitet Sendungsupdates von zehn verschiedenen Carrier-APIs. Zur Weihnachtssaison gehen bis zu 50.000 Statusupdates pro Stunde ein – weit mehr als das Verarbeitungssystem in Echtzeit bewältigen kann. Eine Message Queue puffert alle eingehenden Updates. Das Verarbeitungssystem liest Eintrag für Eintrag mit seiner maximalen Kapazität von 8.000 pro Stunde und arbeitet die Queue systematisch ab. Kein Update geht verloren. Wenn die Weihnachtsspitze vorbei ist, ist die Queue geleert. Ohne Queue wären zehntausende Updates verloren gegangen oder hätten das System zum Absturz gebracht.




