A service mesh is an infrastructure layer that manages communication between services in microservices architectures.
Core components
- Data plane
Sidecar Proxies (e.g., Envoy, Linkerd-proxy)
- Traffic Management: Load balancing, rate limit, Traffic splitting/shifting, Retry policies & Timeouts, Circuit breaking
- Security: mTLS encryption, Authentication, Authorization, Certificate management
- Observability: Metrics collection, Distributed tracing, Access logging, Health checks
- Control plane
Configuration Management
- API Server: Config validation, Config distribution, Version control.
- Service Discovery: Service registry, Load balancer config, Endpoint health tracking
- Policy Management: Traffic policies, Security policies, Rate limit policies
How it interacts with other services.
