[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-mikroservisy-chto-takoe-service-mesh":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},913,"chto-takoe-service-mesh",23,"mikroservisy","Микросервисы","🔗","Что такое Service Mesh?","Service Mesh — это инфраструктурный слой, управляющий межсервисным взаимодействием через sidecar-прокси, развёрнутые рядом с каждым сервисом. Он берёт на себя сетевые задачи (mTLS, retry, трассировка) без изменения кода приложения.\n\n```\n┌─── Data Plane ──────────────────────────────────────────┐\n│                                                         │\n│  ┌──────┐ ┌───────┐       ┌──────┐ ┌───────┐          │\n│  │ App A│─│Proxy A│──────►│Proxy B│─│ App B │          │\n│  └──────┘ └───┬───┘       └───┬───┘ └──────┘          │\n│               │               │                        │\n└───────────────┼───────────────┼────────────────────────┘\n                │               │\n┌─── Control Plane ─────────────┼───────────────────────┐\n│  ┌────────────▼───────────────▼──────────────┐        │\n│  │ Istio Control Plane (istiod)              │        │\n│  │ - Маршрутизация   - mTLS-сертификаты      │        │\n│  │ - Политики        - Конфигурация прокси   │        │\n│  └───────────────────────────────────────────┘        │\n└───────────────────────────────────────────────────────┘\n```\n\n### Что предоставляет Service Mesh\n\n- Наблюдаемость (Observability) — метрики, трассировка, логирование автоматически, без изменения кода.\n- Безопасность — mTLS между всеми сервисами, RBAC-политики.\n- Управление трафиком — canary deployments, A\u002FB тестирование, fault injection.\n- Отказоустойчивость — retry, timeout, circuit breaker на уровне прокси.\n\n### Популярные решения\n\n| Решение | Характеристика |\n|---|---|\n| Istio | Наиболее функциональный, на основе Envoy. Стандарт де-факто |\n| Linkerd | Легковесный, проще в эксплуатации |\n| Consul Connect | От HashiCorp, интегрирован с Consul |\n\n\u003Cdetails>\u003Csummary>Пример Istio: canary deployment и fault injection\u003C\u002Fsummary>\n\n```yaml\n# Направить 90% трафика на v1 и 10% на v2\napiVersion: networking.istio.io\u002Fv1beta1\nkind: VirtualService\nmetadata:\n  name: payment-service\nspec:\n  hosts:\n    - payment-service\n  http:\n    - route:\n        - destination:\n            host: payment-service\n            subset: v1\n          weight: 90\n        - destination:\n            host: payment-service\n            subset: v2\n          weight: 10\n---\napiVersion: networking.istio.io\u002Fv1beta1\nkind: DestinationRule\nmetadata:\n  name: payment-service\nspec:\n  host: payment-service\n  subsets:\n    - name: v1\n      labels:\n        version: v1\n    - name: v2\n      labels:\n        version: v2\n```\n\n```yaml\n# Fault injection для тестирования устойчивости\napiVersion: networking.istio.io\u002Fv1beta1\nkind: VirtualService\nmetadata:\n  name: customer-service\nspec:\n  hosts:\n    - customer-service\n  http:\n    - fault:\n        delay:\n          percentage:\n            value: 10  # 10% запросов получат задержку\n          fixedDelay: 5s\n        abort:\n          percentage:\n            value: 5   # 5% запросов получат ошибку 500\n          httpStatus: 500\n      route:\n        - destination:\n            host: customer-service\n```\n\n\u003C\u002Fdetails>\n\n### Когда нужен Service Mesh\n\n- Много микросервисов (50+) — ручное управление сетевыми политиками невозможно.\n- Строгие требования к безопасности (mTLS везде).\n- Нужна единообразная наблюдаемость без изменения кода сервисов.\n\n### Когда НЕ нужен\n\n- Мало сервисов (менее 10-15).\n- Нет Kubernetes.\n- Команда не готова к дополнительной операционной сложности.\n\n> **На собеседовании:** объясните архитектуру: Data Plane (sidecar-прокси) + Control Plane (управление). Ключевое преимущество: разработчик пишет только бизнес-логику, всё сетевое (mTLS, retry, трассировка) обеспечивается mesh'ем. Частая ошибка — предлагать Service Mesh для 5 сервисов.","","senior",[15],"microservices",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Что такое Service Mesh? — Gymterview","Service Mesh — это инфраструктурный слой, управляющий межсервисным взаимодействием через sidecar-прокси, развёрнутые рядом с каждым сервисом. Он берёт на себя с","Service Mesh — это инфраструктурный слой, управляющий межсервисным взаимодействием через sidecar-прокси, развёрнутые ряд",[15,13],"Service Mesh — это инфраструктурный слой, управляющий межсервисным взаимодействием через sidecar-прокси, развёрнутые рядом с каждым сервисом. Он берёт на себя сетевые задачи (mTLS, retry, трассировка) без изменения кода приложения.",true]