Event sourcing is a design pattern where all changes to an application's state are stored as a sequence of immutable events. Rather than storing just the current state, event sourcing persists the full history of state-changing actions, providing a robust audit log and enabling interesting capabilities like temporal queries and full state reconstruction.
"We're thinking of using event sourcing for the new microservice since product wants the ability to analyze how the entity changed over time." "I know event sourcing is the hot new thing, but it's not like we're building a blockchain here - let's just use a normal database like adults."
What do you mean by "Event-Driven"?: Martin Fowler dives into different flavors of "event-driven" architecture, explaining event sourcing and clearing up some common misconceptions. Worth a read if you want to sound smart in the next architecture meeting.
Event Sourcing: Another Martin Fowler joint, this article goes deeper into how event sourcing actually works, the benefits it provides, and some of the tricky bits you'll need to figure out. A solid reference when you're trying to decide if all this event stuff is worth the hassle.
Event Sourcing Pattern: Microsoft's take on the event sourcing pattern, with some helpful diagrams for the visual learners out there. They also touch on some of the challenges and when you might want to use a different approach. Because let's face it, sometimes a relational database is just fine.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.