← Back to microservices patterns map
🤝
Microservices Pattern

Ambassador Pattern

Use a local proxy to handle network concerns for a service.

proxy

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 API

Tradeoffs

Pros

Clean service code, reusable network behavior

Cons

Extra network hop and more infrastructure

Examples: Envoy, Ambassador API Gateway, Linkerd