← Back to microservices patterns mapsync
↩️
Microservices Pattern
Synchronous REST / gRPC
Direct request-response communication where the caller waits for a downstream service.
Detailed Description
Synchronous calls are useful when the caller truly needs an immediate answer.
They should be protected with timeouts, retries, circuit breakers, and clear ownership of failure behavior.
Visual Diagram
Service A -> HTTP/gRPC -> Service B Service A waits for response Failure in B affects A
Tradeoffs
Pros
Simple, immediate response, easy to debug locally
Cons
Temporal coupling, latency chains, cascading failures
Examples: Express REST, gRPC with Protobuf, GraphQL