tags: #publish
links: [[Software Architecture]]
created: 2020-10-27 Tue
---
# Transactional Outbox
Pattern used to atomically execute an operation and produce a message, e.g. by committing to an "outbound events" table as part of the transaction, then having a separate thread pull from there and send.
For use with event publishing where the associated event MUST happen, e.g. [[Saga]].
- Events may be sent more than once: consumers must accept at-least-once delivery and be idempotent.