Day 12: Transactional Outbox
The Transactional Outbox pattern solves the "dual-write" problem: a service must update its database and publish an event, but a database and a message broker cannot share one ACID transaction.
The Transactional Outbox pattern solves the "dual-write" problem: a service must update its database and publish an event, but a database and a message broker cannot share one ACID transaction.
A Domain Event is an immutable record that something meaningful happened in the business domain, named in the past tense (for example ClaimApproved).
API Composition solves the "no more SQL JOIN" problem that appears once each microservice owns its own database.
Event Sourcing stores every change to a business object as an immutable event in an append-only log, instead of overwriting the current state in a row.
CQRS (Command Query Responsibility Segregation) splits an application's model into two sides.
A saga is a way to complete one business process that spans several services, each with its own database, without a distributed lock or a two-phase commit.