Event-Sourcing from Scratch in Java

Опубликовано: 05 Август 2026
на канале: JitterTed
804
38

Event-sourcing allows the business to ask questions about your application's data that weren't thought of when the system was created, such as "how often are customers changing their shipping address?". Event-sourcing is like version control for your data, with meaningful commit messages, allowing you to understand not just what the current state is, but how it got there.

In this talk, you'll learn how event-sourcing works at the code level without event-sourcing libraries getting in the way of deeper understanding. We'll walk through a codebase for a Concert Ticketing system and see how straightforward the implementation can be.

We'll start with modeling the events, the commands (user actions) that generate them, the aggregates that make business decisions, and the projections used to generate the user interface. We'll look at the (Java) code that implements these concepts and see how event-sourcing makes testing easier to write and understand.

We'll end by touching on the challenges to using event-sourcing, such as performance and schema evolution (versioning).

You can find the slides, source code link, and references at https://ted.dev/talks