How it works
One atomic commit
The application updates its business tables and inserts the outbox row in one local transaction, so both happen or neither happens.
Asynchronous relay
A polling publisher or change-data-capture process reads committed outbox rows and sends them to the message broker.
At-least-once delivery
A relay can crash after publishing but before marking a row complete, so consumers must handle duplicate events.
Ordering scope
Sequence numbers or aggregate keys preserve the order that matters without requiring one total order for the entire system.