I am using zeebe in my microservices architecture to orchestrate about 10 .net core services. I am using DDD and CQRS patterns. One of my services is supposed to update external systems and send many events when its domain state changes. I am thinking about using the event sourcing pattern to store all my events in a event store. Is it worth ? Will this add an unnecessary complexity layer ?
I have a Zeebe system that stores domain events in an EventStore database.
The Zeebe event log is an event stream of business process orchestration events, which is a distinct domain from the business domains that your processes are being orchestrated for.
My EventStore contains domain events like user interactions (clicks, downloads, logins).
The Zeebe exporter can be used to examine the state and history of the technical implementation of my business process orchestration, while the EventStore can be used to examine the state and history of my business domains themselves, and do things like examine the customer journey.
I could extract that from the Zeebe exporter, but I would be filtering a lot of things, and changes to my business process implementations would break that extraction.
So in my case, it is less complex to add EventStore for business domain events, than to try to extract them from Zeebe’s event stream.
Hi Josh, thank you very much for sharing your case. I will continue implementing my system but I believe that, as you confirmed, event sourcing can enrich my solution. Thank you