What is a service mesh?
Answer
A service mesh is a dedicated infrastructure layer for handling service-to-service communication in a microservices system. It is implemented by deploying a lightweight proxy (sidecar) alongside each service instance. The sidecar intercepts all network traffic and provides features like mutual TLS (mTLS) for encrypted service-to-service communication, automatic retries, circuit breaking, distributed tracing, and traffic management — all without any changes to the service code itself. Popular service meshes include Istio and Linkerd. The tradeoff is operational complexity: running a service mesh adds infrastructure overhead and requires dedicated expertise to configure and maintain.
Previous
What role do containers (Docker) play in microservices?
Next
What is fault tolerance in microservices?