Service Mesh
Service Mesh — инфраструктурный слой поверх микросервисов, отвечающий за межсервисную коммуникацию: routing, security, observability.
Компоненты
Data plane: sidecar-прокси (обычно Envoy) рядом с каждым сервисом, перехватывает весь трафик. Control plane: конфигурирует sidecars (Istiod, linkerd-controller). Приложения не знают о mesh — интеграция на инфраструктурном уровне.
Возможности
mTLS автоматически между всеми сервисами. Traffic routing (canary, A/B, mirroring). Retry, timeout, circuit breaker без кода. Distributed tracing (headers propagation). Rate limiting. Observability: metrics + logs + traces из sidecar. Policy enforcement.
Продукты
Istio: самый функциональный, сложный. Linkerd: легковесный, быстрый. Consul Connect: интеграция с Vault. AWS App Mesh, GCP Traffic Director: managed. Cilium: eBPF-based, без sidecar. Kuma: multi-mesh.
Когда стоит внедрять
При 20+ микросервисах, где ручное управление mTLS/retry/observability становится сложным. Для меньших систем — overkill: sidecar добавляет latency (0.5-2ms) и ресурсы (100-500MB RAM на sidecar). Гейминг с сотнями сервисов — типовой use case.