I am trying to solve the following problem in a microservice architecture. I am very new to this architecture so let me know if I miss use some of the concepts.
Here is the problem I need to solve:
In an E-Commerce system, a user can place an order for some products. 15 days after the order creation, the system must send an e-mail to the client with a link to evaluate his satisfaction.
In order to solve the problem, and to not just come here asking for the best solution, I came with two different solutions:
First Solution: Link microservices with events traveling in an event bus.
Second Solution: Create a "Scheduler" service whose job is to listen on events and schedule tasks in the environment:
I think Solution 2 is not that bad but I would love to hear experts about that architecture, am I doing it all wrong? Do I need to run in a bookstore because I don't get nothing out of microservices? Is their a third solution you see that could be better to solve the problem and respect microservices principles?