Eigenständiger BegriffMusterKapitel II · Kommunikation · Baustein 11 von 23

Priority Queue

Prioritätswarteschlangen verschieben knappe Kapazität zugunsten dringender Arbeit.

  1. KlasseOrdnet Arbeit nach einer fachlich prüfbaren Dringlichkeit.
  2. FairnessSichert Kapazität oder maximale Wartezeit für niedrige Klassen.
  3. 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.

Shop-Beispiel · Zuordnung

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

  1. Klasse Wenige Klassen mit Eintrittsregel
  2. Fairness Quote oder Aging
  3. Alter Älteste Nachricht je Klasse
Fairnessstrategien
VergleichStrategieWirkungRisiko
Strikte PrioritätDringendes immer zuerstKleinste dringende LatenzStarvation normaler Arbeit
KapazitätsquoteAnteil je KlassePlanbarer MindestfortschrittUngenutzte Reserve
AgingPriorität steigt mit ZeitBegrenzt maximales AlterKomplexere Regel
Die Strategie bestimmt den Fortschritt normaler Arbeit.

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

  1. Lege dringende Korrekturbelege und normale Rechnungen als getrennte Prioritäten an. Miss die Wartezeit beider Klassen während einer anhaltenden Hochprioritätsphase.
  2. Setze eine Begrenzung für dringende Nachrichten um und prüfe, ob normale Arbeit spätestens innerhalb der vereinbarten Frist startet.
  3. 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

  1. AblesenIm Bild nachsehen

    Welcher Messwert zeigt Starvation?

    Lösung mit Begründung ansehen

    Das Alter der ältesten Nachricht je Klasse.

  2. 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.

  3. 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.

Weiter im Lernpfad

Als Nächstes in Kommunikation & APIs: Idempotenz.