Event-Driven Architecture: Event Sourcing, CQRS, and the Outbox Pattern Explained

Covers: Event Sourcing, CQRS, Outbox Pattern, Choreography vs Orchestration

The Bank That Never Stores a Balance

Here's something that surprises most engineers: many banking systems don't store your account balance as a number in a database row.

Instead, they store every transaction that ever happened — every deposit, withdrawal, transfer, fee — as an immutable event. Your "balance" is computed by replaying all those events.