← Back to microservices patterns map
↩️
Microservices Pattern

Synchronous REST / gRPC

Direct request-response communication where the caller waits for a downstream service.

sync

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