The Ambassador pattern acts as a proxy or helper that manages communication between a microservice and external systems. It can add features like retries, logging, or security without changing the service itself.
The Ambassador pattern typically uses a sidecar proxy deployed alongside the service. This proxy intercepts outbound requests and can add features like retries, caching, or security.
Since the Ambassador pattern uses proxies alongside services, these proxies must scale with the service instances. Otherwise, they can become bottlenecks, limiting throughput and increasing latency.
The Ambassador pattern improves modularity by offloading features like retries and logging to a proxy. However, this adds an extra network hop, which can increase latency.
Each call adds 15ms overhead. For 10,000 calls, total overhead = 15ms * 10,000 = 150,000ms = 150 seconds.