What is the correct way to handle failures when one service calls multiple other services?
00:32 28 Jan 2026

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?

microservices system-design