Talk in English - US at PHP TEK 2025
Track Name:
Wrigley Field
Short URL: https://joind.in/talk/8578b
(QR-Code (opens in new window))
Event sourcing is a powerful pattern that can fundamentally change how you approach building applications, when auditability and adaptability are needed. However, aspects of event sourcing can be misunderstood, and those misconceptions make it harder to understand and utilize effectively.
We'll take away the abstractions and focus on building an event sourced system without the use of an event sourcing library. This approach will help focus on the core concepts: what an event table is, how events are replayed when loading an aggregate root, what a projection is, and how snapshots work. Once we've established that base understanding, we'll take a look at how event sourcing libraries handle common concerns.
Along the way, we'll clear up some common points of confusion, and explore how this can be applied to existing systems, not just greenfield projects. You'll leave with a clear foundational understanding of event sourcing, so you can decide if this pattern is right for your next project.
Comments
Please login to leave a comment
Great crash course on event sourcing and a couple of its use cases. Would have loved to see the demo dominate in battlesnake due to the sourced event data. ^_^. Event, Project, Win!
Great talk, the battle snake was an engaging example. Confident speaker, high energy, clearly knew his content. The navigation was a bit clunky at times but I suspect that will improve with repetition. Going from events first was a good way to approach the topic. A good introduction that showed the potential of event sourcing but left you wanting to learn more.
Another morning, another great talk from Tim! It was also great having Battlesnakes used as the basis for the example application, as it's an uncommon use for Event Sourcing, but one with a well-defined problem space that is both competitive and non-serious—do you want to worry about financial transactions or DESTROYING YOUR RIVALS IN THE ARENA OF BATTLESNAKE?
This was a very interesting talk that gave me a lot to chew on. It’s definitely a complex (at least in my mind) concept, but after having a talk with Tim I feel pretty good about how we can use this. I particularly appreciated that this talk was not framework-centric.
Excellent engagement on this. The timing right after the Battlesnake competition was particularly effective, since it was still very fresh in mind from last night. Not only did I get a better understanding of how event sourcing can be stored and recalled, I got a better understanding of how Battlesnake works (win/win).
I particularly valued the projection and snapshot elements since that filled in some gaps in how this can be effectively incorporated.
Thanks Tim. Had no knowledge of this topic beforehand but am stimulated now.