Компания «МикроПлат» — платёжная система, 60 микросервисов в Kubernetes. С чем столкнулись:
- Безопасность: трафик между сервисами — plain HTTP. Компрометация одного pod = перехват всего трафика
- Observability: нет distributed tracing между сервисами, impossible to debug «500 Internal Server Error»
- Reliability: нет retry, circuit breaker, timeout на уровне сети. Каждый сервис реализует свою логику
- Traffic management: canary деплой — руками через deployment replicas
Давайте разберёмся, что такое Service Mesh. По сути, это такой специальный инфраструктурный слой, который добавляет кучу полезных штук – например, mTLS, observability и traffic management – причём вам не нужно даже прикасаться к коду ваших приложений. Он работает так: весь трафик пода перехватывает особый sidecar-прокси. У Istio это Envoy, а у Linkerd – linkerd2-proxy.
| Критерий | Istio | Linkerd |
|---|---|---|
| Sidecar proxy | Envoy | linkerd2-proxy (Rust) |
| Control plane RAM | ~500 MB | ~200 MB |
| Sidecar RAM per pod | ~50 MB | ~20 MB |
| Latency overhead | 2-5 мс p99 | 0.5-1 мс p99 |
| mTLS | Да | Да (по умолчанию) |
| Traffic splitting | Продвинутый | Базовый |
| Multi-cluster | Да | Да |
| Ambient mode (без sidecar) | Да (с 1.22) | Нет |
| CNCF статус | Graduated | Graduated |

Комментарии 0