Outbox-Pattern
Löst das „Dual-Write"-Problem (Datenbank + Nachrichtenwarteschlange in derselben Transaktion), indem das Event gleichzeitig mit der Datenänderung in eine Outbox-Tabelle geschrieben wird — ein separater Prozess veröffentlicht es dann.
Das Problem: Führt man db.commit() gefolgt von queue.publish() aus, kann eines gelingen und das andere fehlschlagen — partielle Konsistenz. Die Outbox-Tabelle speichert das Ereignis in derselben DB-Transaktion. Ein Relay-Prozess pollt die Tabelle (oder liest sie per CDC über Debezium) und veröffentlicht an Kafka/RabbitMQ. Garantiert At-least-once; Konsumenten müssen idempotent sein. Standard in modernen ereignisgesteuerten Systemen.