Outbox-mönstret
Lös "dual write"-problemet (databas + meddelandekö i samma transaktion) genom att skriva eventet till en outbox-tabell samtidigt som data ändras, och låt en separat process publicera det.
Problemet: om du gör db.commit() följt av queue.publish() kan en av dem lyckas och den andra misslyckas — partiell konsistens. Outbox-tabellen sparar händelsen i samma DB-transaktion. En relay-process pollar (eller CDC-läser via Debezium) tabellen och publicerar till Kafka/RabbitMQ. Garanterar at-least-once. Konsumenter måste vara idempotenta. Standard i moderna event-driven systems.