Что такое Service Mesh
Инфраструктурный слой для межсервисного взаимодействия
Service Mesh
Service Mesh — выделенный инфраструктурный слой для управления коммуникацией между микросервисами. Обеспечивает наблюдаемость, безопасность и надёжность без изменения кода приложений.
Архитектура
| Компонент | Роль | Примеры | |-----------|------|---------| | Data Plane | Sidecar-прокси рядом с каждым сервисом | Envoy, Linkerd-proxy | | Control Plane | Управление конфигурацией и политиками | Istiod, Linkerd control plane |
Основные возможности
- Трафик-менеджмент — балансировка, canary, circuit breaker
- Безопасность — mTLS, авторизация, шифрование
- Наблюдаемость — метрики, трейсинг, логи
- Политики — rate limiting, retry, timeout
Популярные решения
| Решение | Особенности | |---------|-------------| | Istio | Полнофункциональный, сложный | | Linkerd | Лёгкий, простой в использовании | | Consul Connect | Интеграция с HashiCorp экосистемой | | Cilium | eBPF-based, высокая производительность |
Когда нужен Service Mesh
- Много микросервисов (50+)
- Требуется mTLS между сервисами
- Нужна детальная observability
- Сложные правила маршрутизации
- Compliance требования (PCI DSS, SOC 2)
Когда НЕ нужен
- Монолитное приложение
- Мало сервисов (< 10)
- Простая архитектура
- Нет ресурсов на поддержку