7 / 18 · Module 10 — Synchronous vs Asynchronous Integrations · filtered: cheatsheet← prev⊞ allnext →
10.54Transaction boundary with queue
A hard problem:
save database record
↓
publish message
What if DB succeeds but message publish fails?
Or message succeeds but DB transaction rolls back?
This is why patterns such as:
transactional outbox
exist.
You don't need to implement one during this interview unless they go deep, but recognize the issue:
Writing state and publishing an event are two separate side effects unless designed transactionally.