Decision Record · ADR-002

Queue statt synchroner Verarbeitung außerhalb des kritischen Pfads

Nebenwirkungen außerhalb des kritischen Antwortpfads laufen asynchron über eine Queue. Der Request bestätigt schnell; die Verarbeitung erfolgt idempotent im Worker.

Was ist das? · Decision Record

Eine dokumentierte Architekturentscheidung im ADR-Format — Kontext, geprüfte Optionen, Begründung und Konsequenzen. Eine konkrete Entscheidung, kein allgemeiner Leitfaden. Zur Übersicht

Status
Angenommen
Kennung
ADR-002
Überprüfung
Zu prüfen, wenn sich Latenz- oder Konsistenzanforderungen ändern.

Kontext

Viele Operationen lösen Nebenwirkungen aus — Benachrichtigungen, Exporte, Drittsystem-Aufrufe, Neuberechnungen. Ob diese synchron im Request oder asynchron über eine Queue laufen, prägt Latenz und Robustheit.

Problem

Synchrone Nebenwirkungen koppeln die Antwortzeit an das langsamste beteiligte System und lassen einen Request scheitern, wenn eine Nebenwirkung scheitert. Asynchrone Verarbeitung entkoppelt, bringt aber eventual consistency und Zustellsemantik mit.

Optionen

Was wir geprüft haben.

  1. A

    Synchron im Request

    Einfach — aber Latenz und Fehler koppeln an die Nebenwirkung.

  2. B

    Asynchron über Queue

    Entkoppelt und robuster — verlangt Idempotenz und Monitoring.

  3. C

    Fire-and-forget

    Kein Backpressure, keine Wiederholung, kein Nachweis.

Entscheidung

Was wir entschieden haben.

Nebenwirkungen außerhalb des kritischen Antwortpfads laufen asynchron über eine Queue. Der Request bestätigt schnell; die Verarbeitung erfolgt idempotent im Worker.

Warum diese Entscheidung

Die Queue entkoppelt die Antwortzeit von langsamen oder unzuverlässigen Nebenwirkungen und macht Wiederholung und Backpressure explizit. Idempotenz stellt sicher, dass At-least-once-Zustellung keine doppelten Effekte erzeugt. Was für die Antwort kritisch ist, bleibt synchron.

Konsequenzen

  • Das System wird eventual consistent für die ausgelagerten Effekte; die Oberfläche muss das berücksichtigen.
  • Queue, Worker und fehlgeschlagene Jobs müssen sichtbar sein.
  • Jede asynchrone Operation muss idempotent entworfen werden.

Verworfene Alternativen

  • Alles synchronKoppelt Latenz und Fehler an die langsamste Nebenwirkung.
  • Fire-and-forgetOhne Wiederholung und Nachweis gehen Effekte still verloren.

Vor einer ähnlichen Entscheidung?

Wir treffen sie nicht aus dem Bauch. Sprechen Sie mit der Geschäftsführung — technisch, ohne Vertrieb.