Event Sourcing at our recent .NET meetup in Wroclaw
Event Sourcing: an overview
Event Sourcing is a design pattern that records all changes to an application state as a sequence of events. Not only does this pattern provide increased diagnostics and audibility, but the recorded events also serve as valuable input for analytics. While the implementation and maintenance of Event Sourcing may appear challenging, the rewards are undoubtedly manifold for those who master the fundamentals of event modelling and the specifics of this pattern.
Our workshop and insights
Our workshop, expertly guided by the technical leader, Oskar Dudycz, spotlighted the practical aspects of Event Sourcing. We delved into understanding when and when not to apply the pattern, how to model events, techniques for versioning event schema, creating read models, and discerning the differences between popular solutions like Marten and EventStoreDB. Additionally, we explored how Event Sourcing fits within the larger system architecture and evaluated it in the context of other related patterns such as CQRS, DDD, and Event Streaming. Oskar's passion for topics like Event Sourcing, Domain Driven Design, modularity, and scalability brought a depth of understanding and practical insights to the workshop. His hands-on approach to problem-solving and guidance ensured a productive and engaging session. Oskar commented on the workshop, "It's a tricky one-day workshop to understand what you’re signing for and learn how to deal with issues. During the workshop, people find the solution independently and teach others. I love that spirit!"
The meetup was not only rich in knowledge but also in a wonderful atmosphere sprinkled with plenty of pizza and drinks! The participants were eager to learn, collaborate, and share their insights, making it a truly enriching experience. A big shout out to everyone who spent their Saturday with us and Event Sourcing. This successful meetup reinforces our mission to cultivate a community where developers can continuously learn, share knowledge, and push the technological envelope together.