Messaging Architecture Decisions - Messaging-Grundlagen
ADR-001: Event Envelope ist Pflicht
Jeder Event erhält eventId, traceId, aggregateId, eventType, schemaVersion, occurredAt und partitionKey.
ADR-002: orderId ist Partition Key für Order-Events
Alle Events einer Order sollen in derselben Partition landen, damit Consumer die Reihenfolge je Order behalten.
ADR-003: Consumer akzeptieren Versionen explizit
Unbekannte Versionen landen in der DLQ. Keine stille Best-Effort-Deserialisierung.
ADR-004: Offset-Commit erst nach Verarbeitung
Consumer committen erst, wenn Projektion und Idempotenz erfolgreich aktualisiert wurden.
ADR-005: Commands und Events werden unterschiedlich benannt
Commands: Imperativ, klarer Empfänger. Events: Vergangenheitsform, Tatsache.