Remix.run Logo
austinthecoder 8 hours ago

I'm familiar with event sourcing. From what I understand, it's useful within bounded context/domain/app. I.e., from the outside you'd never know an app is event sourced (it's an implementation detail). Event sourcing is fantastic.

My concern is with cross-app event sourcing: N copies of data/events across N apps. Greg Young strongly advises against this in this video: https://www.youtube.com/watch?v=LDW0QWie21s

I have no idea how this came about. I think it's mainly driven by one engineer. I don't think it's related to any issues related to APIs in the past, in fact I'm not sure they've ever had APIs. There are numerous issues that have come up due to the nature of this system.

These are mostly internal apps not used by that many people. Scale isn't an issue.

I'm advocating for Events + API. With the idea that if you get an event that says "Widget 123 updated", you're free to hit the API to get whatever data you need.