Event sourcing is worth the complexity when you need to audit every change to your data. Also, if you need to replay events to reconstruct state, it's a good fit. If your system has many concurrent writes and you need strong consistency, event sourcing can help manage that. And when you want to easily test different versions of your application logic against historical data, it's pretty useful. Otherwise, it might just add unnecessary overhead.
Sonia Benali
·834 views
I've been checking out event sourcing for handling state changes in systems, particularly with high-volume, spread-out apps. It looks good on paper, all that immutability and the audit trail seem awesome for debugging and copying data to different services. But the extra complexity, especially with projections and dealing with eventual consistency, feels like a real pain. So, for those of you who've actually done it, when did event sourcing actually make things better for scalability or maintenance, instead of just giving you more headaches? Are there certain apps or scale needs where it's clearly better than just using regular old CRUD with a relational or even NoSQL database?
13 comments