Event Sourcing You are doing it wrong by David Schmitz

TL;DR
This talk explores the basics of event sourcing, common misconceptions, and best practices for implementing it in real-world projects.
Transcript
nice let's get started welcome thank you for coming show of hands who's here to just save a seat for the keynote be honest I know you are okay winces you're doing it wrong actually I wanted to submit this title you're doing it wrong because I know obviously best I've been working those systems for a couple of years now and then I realized that I kn... Read More
Key Insights
- 🔮 There are no easy right or wrong answers when it comes to event sourcing, as it is a complex and nuanced topic that requires careful consideration in implementation.
- 👥 Event sourcing is commonly used in the context of microservices and domain-driven design for handling data and communication between services.
- 💡 Event sourcing provides scalability and consistency without compromising on performance, as long as the right strategies are applied.
- 📚 It is recommended to start small and gradually introduce event sourcing into existing systems, rather than trying to adopt it wholesale.
- ⚖️ Correctness and versioning in event sourcing can be ensured through techniques like optimistic concurrency control and semantic versioning.
- 🔒 GDPR compliance can be achieved in event sourcing through techniques like encryption, tombstones, and separating public and private data. ⏳ Event sourcing requires more time and effort in designing and refactoring streams, aggregates, and events, but it can lead to a more robust and scalable system.
- 📚 Recommended resources for further learning include papers on schema migrations, aggregate modeling, versioning, and practical case studies. The event store tool by Microsoft is also a highly recommended tool for implementing event sourcing.
- ❓ Don't be afraid to ask questions and seek guidance when implementing event sourcing in your projects.
Install to Summarize YouTube Videos and Get Transcripts
Explore YouTube Video Summarizer or Get YouTube Transcript Extractor
Questions & Answers
Q: How can event sourcing be used to handle data in distributed systems?
Event sourcing can be used in distributed systems to store events in a central event store, which allows microservices to exchange events and build aggregates from these events.
Q: How can one ensure correctness in event sourcing systems?
Correctness can be ensured by using optimistic concurrency control, where each event is checked against the latest version to prevent conflicts. Compensation actions can also be used to handle errors and inconsistencies.
Q: What are the challenges in implementing event sourcing?
Challenges include handling eventual consistency, handling replays and rebuilds, versioning events, and ensuring GDPR compliance.
Q: Can event sourcing be combined with other architectural patterns?
Yes, event sourcing can be combined with microservices, domain-driven design, and other architectural patterns to build scalable and decoupled systems.
Q: What are some recommended tools and resources for implementing event sourcing?
The event store is a popular open-source tool for event sourcing, and there are also various libraries and frameworks available. Recommended resources include books, papers, and online communities that discuss event sourcing best practices and implementation details.
Q: How can event sourcing be used to handle GDPR compliance?
By using techniques like encrypting streams and using tombstones for deleting data, event sourcing systems can comply with GDPR regulations and allow for the right to be forgotten. Care must be taken to ensure proper key management and handling of private data.
Summary & Key Takeaways
-
Event sourcing is a way to handle data in distributed systems and is commonly used in microservices architectures.
-
Events are stored in streams in an event store, and aggregates are computed from these events using projections.
-
Challenges in event sourcing include eventual consistency, handling replays and rebuilds, and ensuring correctness in concurrent systems.
Read in Other Languages (beta)
Share This Summary 📚
Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator
Explore More Summaries from Devoxx 📚
Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator



