Service Mesh на собеседовании системного аналитика
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем спрашивают на собесе SA
Service mesh — современный инструмент для микросервисов. На собесе SA: «отличие от API gateway», «зачем sidecar».
Что такое service mesh
Infrastructure layer для service-to-service communication. Работает прозрачно для приложения.
Без mesh:
Service A → HTTP → Service BКаждый сервис сам делает: retries, timeouts, mTLS, metrics, tracing. Дублирование.
С mesh:
Service A → sidecar → mTLS, retry, metrics → sidecar → Service BSidecar (proxy) делает cross-cutting concerns. Сервис не знает.
Sidecar pattern
Каждый pod в k8s содержит:
- Application container.
- Sidecar proxy (Envoy / Linkerd2-proxy).
Все network traffic проходит через sidecar.
Control plane (Istio's Pilot, Linkerd) — централизованно управляет proxies: пушит конфигурацию, certs, rules.
Control Plane
/ | \
v v v
[Pod A] [Pod B] [Pod C]
proxy proxy proxyЧто предоставляет mesh
Traffic management:
- Retries с exponential backoff.
- Timeouts.
- Circuit breaker.
- Load balancing (round robin, least conn, custom).
- Traffic splitting (canary, A/B).
Security:
- Auto mTLS между сервисами.
- Authorization policies (RBAC на network уровне).
- Cert rotation.
Observability:
- Metrics (Prometheus-compatible).
- Distributed tracing (Jaeger, Zipkin).
- Access logs.
Resilience:
- Fault injection (для chaos engineering).
- Rate limiting.
Tools: Istio, Linkerd, Consul
Istio. Тяжёлый, feature-rich. Стандарт enterprise. Сложный setup.
Linkerd. Лёгкий, простой. Менее feature, но достаточно для большинства.
Consul Connect. HashiCorp. Хорошо для multi-cloud / hybrid.
Envoy. Не mesh, но proxy под капотом Istio. Можно использовать standalone.
Cilium Service Mesh. eBPF-based, без sidecar. Performance focus.
В РФ — Istio популярен. Yandex Cloud / VK Cloud имеют managed mesh.
Когда нужен
Подходит:
- 20+ микросервисов.
- Need for observability + traffic management.
- Multi-team development (mesh standardizes cross-cutting).
- Zero trust / regulated.
Overkill:
- < 5 сервисов — handle через app code или API Gateway.
- Команда без k8s expertise — overhead обучения.
- Простой workload — не оправдает complexity.
Частые ошибки
Использовать без k8s. Mesh задизайнен под orchestration. На bare VM — тяжело.
Не использовать observability. Потерял главную выгоду.
Игнорировать sidecar resource overhead. Каждый sidecar — 50-200MB RAM, 0.1-0.5 CPU. На больших cluster суммарно много.
Mixing с API Gateway без понимания. Gateway — north/south traffic (in/out). Mesh — east/west (service-to-service).
Полностью полагаться на mesh для security. Application-level auth (JWT, RBAC в коде) всё равно нужны.
Связанные темы
- API Gateway и BFF для SA
- mTLS для SA
- Circuit Breaker для SA
- Монолит vs микросервисы для SA
- Подготовка к собесу системного аналитика
FAQ
Mesh или API Gateway?
Часто оба. API Gateway — internet-to-cluster (north-south). Mesh — service-to-service (east-west).
Cilium vs Istio?
Cilium — без sidecar (eBPF). Меньше overhead, но менее feature-rich. Istio — стандарт по фичам.
Это официальная информация?
Нет. Статья основана на документации Istio / Linkerd / CNCF.
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.