← Back to microservices patterns mapproxy
🤝
Microservices Pattern
Ambassador Pattern
Use a local proxy to handle network concerns for a service.
Detailed Description
The ambassador acts on behalf of the app for outbound communication.
It is useful when teams want consistent retry, authentication, or observability behavior across languages.
Visual Diagram
Ambassador as Proxy
YourService → [Ambassador]
│ handles:
├─ retry logic
├─ circuit breaking
├─ request logging
├─ rate limiting
└─ TLS termination
↓
Remote Service / External APITradeoffs
Pros
Clean service code, reusable network behavior
Cons
Extra network hop and more infrastructure
Examples: Envoy, Ambassador API Gateway, Linkerd