Conceptly
← All Concepts
πŸ•ΈοΈ

Service Mesh

IntegrationA proxy layer that governs service-to-service communication

Service Mesh moves repeated communication concerns such as retries, timeouts, mTLS, and tracing out of individual service code into a shared proxy layer. Services focus on business behavior while sidecars or node-level proxies handle the mechanics of service-to-service traffic.

β–ΆArchitecture Diagram

πŸ”— Relationship

Dashed line animations indicate the flow direction of data or requests

Why do you need it?

As service count rises, every team tends to implement traffic policy a little differently. Retry rules, timeout defaults, certificate handling, and tracing propagation drift across languages and stacks. That inconsistency makes operations brittle and failures much harder to debug.

Why did this approach emerge?

Shared libraries were often enough when service fleets were smaller and language choices were narrower. But once organizations ran many services with many teams and runtime stacks, keeping communication policy consistent inside application code became too expensive. Service Mesh grew out of that operating pressure.

How does it work inside?

A service calls its local proxy, the proxy applies policy and forwards traffic, and a control plane distributes routing, security, and observability configuration to all proxies. The value is not another domain layer, but a consistent network behavior layer for internal traffic.

Boundaries & Distinctions

API Gateway handles north-south entry. Service Mesh handles east-west communication between services. Service Discovery tells the system where services are; the mesh governs how calls behave once that destination is known. In small systems, the operational overhead may not be justified.

When should you use it?

It is most useful in larger microservice platforms where security, traffic shaping, and telemetry need to be applied consistently across many services. It can substantially reduce per-service boilerplate, but only when the platform is mature enough to absorb the extra infrastructure layer.

Managing east-west traffic in large microservice fleetsApplying retries, timeouts, and mTLS consistentlyCollecting tracing data without changing every service implementationControlling canary or split traffic at the network layer