In an event-driven microservice architecture, imagine we have three services:
- Customer service
- Order service
- Item service
Each service raises an event with data when something happens and stores only its related transactions.
For example, we want to know the customers that placed an order in the 30 min after they registered, and the items it contains.
In a monolith with one database it would be trivial, but I'm thinking what could be the best option in this scenario.
Could it be feasible to have an "ancillary" service that listens for all the events and stores that event data in a single relational database so then it can be queried without bothering the services itself? If not, what could be a solution?