I’m designing a microservice-based system where one service orchestrates calls to multiple downstream services as part of processing a single request.
Body
I’m designing a microservice-based system where one service orchestrates calls to multiple downstream services as part of processing a single request.
Example flow:
Client
↓
Service A
├── Service B (critical)
├── Service C (critical)
└── Service D (non-critical)
Service A needs responses from B and C to complete the request, while Service D is used only for side effects (like notifications or analytics).
My main question is:
What are the best practices when one service calls multiple other services and failures need to be handled properly?