1. Что такое
    1. паттерн управления взаимодействия между сервисами в распределенной системе
  2. Как связан с другими концепциями
    1. Обрабатывает траффик внутри периметра в отличии от API Gateway или Edge Proxн
    2. API Gateway
    3. Edge Proxy
  3. Причины появления
    1. распределенные системы на разных языках и ад микросервисов
    2. всем нужно service discovery
    3. devops-ам нужно обрабатывать сетевые отказы и отказы во время развертывания
    4. динамический роутинг траффика на сервисы
  4. Какие проблемы решает
    1. не нужно вкладывать логику service discovery/routing/работы в кластере во все приложения на всех языках
    2. выносит из приложения такие аспекты как
      1. security креды
      2. конфигурация сетевой коммуникации с другими сервисами
      3. QoS сервисов с которыми работает текущий сервис
      4. cirtcuit breaker?
      5. мониторинг (пассивный и активный) сторонних сервисов
      6. observability распределенной системы
        1. кто к кому ходит, как часто
        2. логирование реквестов
        3. трассировка запросов
        4. сбор метрик
      7. примерение политик в децентрализованной распределенной системе
    3. динамическое service discovery и роутинг
    4. надежность коммуникации между сервисами
    5. наблюдение за траффиком
    6. безопасность коммуникаций
  5. Фичи service mesh
    1. нормализация и нотация именования сервисоа
    2. traffic shaping
      1. rate limiting
    3. traffic shifting
      1. перенос траффика между локациями
    4. программируемая балансировка нагрузки
    5. контроль релиза сервиса
      1. релиз канареек
      2. traffic splitting
    6. продвинутый роутинг траффика
      1. per-request routing
      2. traffic shadowing
      3. fault injection
      4. debug re-routing
    7. security
      1. TLS фичи
      2. ACL фичи
    8. observability
    9. monitoring
    10. RPC metrics
      1. request volume
      2. success rate
      3. latency
    11. tracing
  6. Как устроен
    1. состоит из data-plane и control-plane
    2. data-plane
      1. делает реальную работу
      2. инспектирует каждый сетевой пакет
      3. де факто прокси
        1. HAProxy
        2. Envoy
        3. MOSN
      4. запускается в отдельном от основного приложения рантайме
      5. для каждого сетевого пакета
        1. понимает куда его отправить
        2. живой ли тот сервис куда его отправляют
        3. балансирует нагрузку
        4. авторизуется/аутентифицируется
    3. control-plane
      1. управлеет работой всех data-plane
      2. превращает работу sidecar-ов в распределенную систему
      3. не трогает сами пакеты, но определяет бизнес-логику
  7. Performance
  8. Governance