The Outbox Pattern — When Your Database and Broker Disagree
A war story about lost messages, atomic consistency, and the architecture pattern that saved our notification service
I still remember the morning we found out. Three weeks of notifications — gone. Not failed. Not bounced. Just... never sent.
We were building a notification service for a large-scale European railway platform. The architecture was clean: when a booking changed, our service would save the update to the database and publish an event to RabbitMQ. Downstream…


