Priority Queue
Prioritätswarteschlangen verschieben knappe Kapazität zugunsten dringender Arbeit.
- KlasseOrdnet Arbeit nach einer fachlich prüfbaren Dringlichkeit.
- FairnessSichert Kapazität oder maximale Wartezeit für niedrige Klassen.
- AlterZeigt Starvation trotz Gesamtdurchsatz.
Einordnung
Warum das wichtig ist
Die zentrale Entscheidung betrifft Fairness unter Dauerlast.
Die Rechnungsqueue ist hypothetisch; aktuell laufen sieben Module gemeinsam.
Fairnessstrategien
Der bestehende Shop verarbeitet sieben Module im modularen Monolithen. Für eine hypothetische asynchrone Rechnungserstellung gelten gesetzliche Korrekturen als dringend und normale Erstbelege als regulär. Zwei von zehn Verarbeitungsslots bleiben für reguläre Arbeit reserviert; nach einer festgelegten Wartezeit steigt deren Priorität. Das Team erzeugt über längere Zeit dringende Aufträge und belegt für beide Klassen Durchsatz, ältestes Nachrichtenalter und eingehaltene Wartezeit, bevor es die Regel übernimmt.
So liest du das Bild
- Klasse Wenige Klassen mit Eintrittsregel
- Fairness Quote oder Aging
- Alter Älteste Nachricht je Klasse
| Vergleich | Strategie | Wirkung | Risiko |
|---|---|---|---|
| Strikte Priorität | Dringendes immer zuerst | Kleinste dringende Latenz | Starvation normaler Arbeit |
| Kapazitätsquote | Anteil je Klasse | Planbarer Mindestfortschritt | Ungenutzte Reserve |
| Aging | Priorität steigt mit Zeit | Begrenzt maximales Alter | Komplexere Regel |
Nutzen & Grenzen
Hilft, wenn
- Dringende und normale Arbeit haben verschiedene Wartezeitziele.
- Spätere Verarbeitung normaler Arbeit bleibt fachlich zulässig.
- Klassen lassen sich anhand stabiler Regeln statt Nutzerwunsch bestimmen.
Grenzen
- Priorität ersetzt keine Kapazitätsplanung; bei Überlast wächst der Gesamtrückstand.
- Zu viele Klassen machen Regeln unverständlich und fördern willkürliche Hochstufung.
- Strikte Priorität kann normale Arbeit aushungern; ihre maximale Wartezeit braucht ein eigenes SLO.
In der Praxis
- Lege dringende Korrekturbelege und normale Rechnungen als getrennte Prioritäten an. Miss die Wartezeit beider Klassen während einer anhaltenden Hochprioritätsphase.
- Setze eine Begrenzung für dringende Nachrichten um und prüfe, ob normale Arbeit spätestens innerhalb der vereinbarten Frist startet.
- Bewerte getrennte Queues gegenüber einer einzigen Prioritätsqueue. Prüfe Fairness, Kapazitätsreservierung, Auswertung und Verhalten bei fehlerhafter Prioritätsangabe.
Ausführliche Erklärung lesen
Der Sender oder Broker ordnet jede Nachricht einer fachlich begründeten Klasse zu. Innerhalb einer Klasse gilt die dokumentierte Brokerreihenfolge; zwischen Klassen entscheidet die Fairnessstrategie.
Dauerhafter Hochprioritätsverkehr kann niedrige Klassen verdrängen. Quoten, Aging oder reservierte Konsumenten machen einen Mindestfortschritt für normale Arbeit messbar.
Publish-Subscribe verteilt Ereignisse an unabhängige Abonnenten. Backpressure begrenzt Zulauf, wenn auch priorisierte Verarbeitung die Last nicht trägt.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Welcher Messwert zeigt Starvation?
Lösung mit Begründung ansehen
Das Alter der ältesten Nachricht je Klasse.
AnwendenAuf eine neue Lage übertragen
Wie schützt der Shop normale Rechnungen?
Lösung mit Begründung ansehen
Durch reservierte Slots und Aging nach definierter Wartezeit.
BewertenEine Alternative abwägen
Warum löst Priorität keinen Kapazitätsmangel?
Lösung mit Begründung ansehen
Sie ändert nur Reihenfolge; der Gesamtrückstand wächst weiter.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.