Architecture Intermediate
Ambassador Pattern — Proxy for External Services¶
AmbassadorProxyPatterns 3 min read
Ambassador as a proxy between your application and external services. Retry, circuit breaking, monitoring.
Principle¶
A special type of sidecar for communication with external services. Centralizes retry logic, circuit breaking, and logging.
Example¶
The application connects to localhost:6379, while the ambassador handles TLS and retries to the external Redis.
# Envoy ambassador config
clusters:
- name: redis_cluster
connect_timeout: 5s
type: STRICT_DNS
load_assignment:
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address: {address: redis.external.com, port_value: 6379}
circuit_breakers:
thresholds:
- max_connections: 100
Summary¶
Ambassador is a subset of the sidecar pattern. A unified solution for retry, monitoring, and circuit breaking to external services.
Need Help with Implementation?¶
Our team has experience designing and implementing modern architectures. We’re happy to help.