Service Mesh — это PaaS-платформа на базе Istio, предоставляющая облачные решения для приложений и микросервисов.
Платформа предлагает возможности развертывания и обновления инфраструктуры в один клик, визуальное управление сервисами, эффективное управление производительностью приложений, а также высокую доступность и производительность для управления сервисными шлюзами. Она обеспечивает комплексное, стабильное, надежное и открытое решение для микросервисов для предприятий, проходящих цифровую трансформацию, помогая повысить эффективность управления сервисами и снизить затраты на поддержку микросервисного фреймворка, минимизируя зависимость разработчиков от фреймворка, что позволяет предприятиям сосредоточиться на развитии бизнеса и постоянно повышать свою ключевую конкурентоспособность.
Управление service mesh становится особенно сложным в мультикластерных средах. Полное управление жизненным циклом service mesh включает не только развертывание, обновление и удаление service mesh, но и мониторинг его состояния в реальном времени, что позволяет операционному персоналу своевременно обнаруживать аномалии и устранять проблемы, обеспечивая тем самым стабильную и непрерывную поддержку бизнес-операций.
Особенность | Описание |
---|---|
Service Mesh с мульти-первичными кластерами | Функция управления service mesh с архитектурой мульти-первичных кластеров визуализирует процесс развертывания компонентов платформы управления микросервисами. |
Визуальное развертывание и управление Service Mesh | - Администраторы могут легко развернуть все компоненты платформы управления микросервисами, включая Istio, для каждого Kubernetes-кластера, требующего возможностей управления сервисами, используя визуальные формы для настройки ключевых параметров. При необходимости можно интегрировать внешние компоненты для обеспечения контейнеризированного управления микросервисами. - Администраторы могут настраивать конфигурацию ресурсов компонентов mesh в зависимости от фактического масштаба бизнеса. |
Мониторинг Service Mesh | Функция мониторинга service mesh включает несколько встроенных панелей мониторинга, отображающих данные мониторинга контрольной и рабочей плоскостей с разных точек зрения и с разной детализацией, что облегчает администраторам запрос и просмотр данных в реальном времени. |
Особенность | Описание |
---|---|
Топология сервисов | Граф топологии сервисов наглядно отображает взаимосвязи между сервисами внутри service mesh и между сервисами внутри и вне mesh (например, middleware, сервисы виртуальных машин с внедренным OpenTelemetry Java Agent). Граф топологии помогает понять, какие компоненты взаимодействуют, и быстро определить точное местоположение ошибок. - Возможность фокусировки с глобального уровня на локальный и просмотра подробной информации о конкретном сервисе, включая статус сервиса, условия запросов, информацию о трафике и др. - При настройке сервисов с политиками безопасности, circuit breaker и оповещений эти параметры также отображаются специальными маркерами на графе топологии. - Определение состояния здоровья подов сервиса по цвету узла. - Определение состояния трафика между сервисами по цвету соединения. |
Трассировка | Функция трассировки платформы поддерживает запрос цепочек вызовов между сервисами в текущем namespace по имени сервиса или TraceID, мониторинг ключевых показателей, таких как статус вызова и продолжительность сервисов в цепочке вызовов. В сочетании с подробными логами это помогает разработчикам понять отклик каждого узла или конкретного API в цепочке бизнес-запроса для быстрой локализации и устранения проблем. - Обеспечивает глубокий анализ вызовов между сервисами для разработчиков и операционного персонала. - Отображает диаграмму рассеяния, абстрагированную от времени начала и продолжительности цепочки вызовов, для быстрого выявления узких мест с низкой производительностью. - Поддерживает полное трассирование (сервисы в архитектуре Service Mesh, сервисы Java 8+). - Быстрый поиск цепочек вызовов по TraceID. - Запрос информации по ссылкам на основе сервиса или TraceID. |
Сервисный шлюз | Сервисный шлюз, включая egress и ingress шлюзы, работает на границе service mesh, управляя трафиком, входящим и выходящим из service mesh, позволяя задавать разрешенный трафик. - Конфигурация нескольких ingress или egress шлюзов для service mesh, при этом каждый шлюз позволяет доступ через несколько настраиваемых портов. - Ingress шлюз поддерживает маршрутизацию внешнего трафика к различным backend-ресурсам (группы API, сервисы) через различные сценарии маршрутизации; egress шлюз позволяет сервисам внутри mesh обращаться к внешним сервисам без влияния на опыт разработки и контролирует трафик к ним. - Поддержка различных сценариев использования, таких как сетевая изоляция между бизнес-областями, выделенные шлюзы для конкретных бизнесов и изоляция портов. - Легкое выведение из эксплуатации ненужных шлюзов без потерь. - Аутентификация и авторизация клиентских запросов на основе JWT. - Настройка правил маршрутизации шлюза на основе пути запроса, заголовков запроса и переписывания URI. - Поддержка мониторинга шлюзов на уровне подов с несколькими встроенными стратегиями оповещений для своевременного обнаружения и устранения проблем. Данные мониторинга включают CPU, память, QPS, количество соединений, метрики входящего и исходящего трафика. |
Список нативных ресурсов | Позволяет пользователям, знакомым с Kubernetes, просматривать нативные ресурсы Istio (YAML-файлы), сгруппированные по типу ресурса. |
Интеграция с Flagger обеспечивает автоматизированный опыт релизов сервисов, поддерживая несколько стратегий развертывания, таких как Canary, A/B Testing и Blue/Green.
Особенность | Описание |
---|---|
Конфигурация релиза | Определение конфигураций релиза сервиса для предоставления шаблонных параметров выполнения для будущих изменений, что позволяет автоматизировать развертывание и откат canary-версий Pod. |
Стратегия маршрутизации трафика | Предлагает гибкие стратегии маршрутизации трафика. Сервисы могут автоматически направлять трафик на основе шаблонов конфигурации релиза или настраивать правила маршрутизации трафика для конкретных задач релиза. |
Управление релизами | Поддерживает как ручные, так и автоматические варианты релиза. Пользователи могут делегировать решения по релизу автоматизированным системам или выбирать ручной релиз. Процесс релиза допускает ручное вмешательство и возможность отката задач в любой момент. |
Наблюдаемость | Обеспечивает сравнение метрик и трассировку между основной и canary-версиями, что позволяет проводить анализ качества и локализацию ошибок при canary-релизах. |
В сценарии управления микросервисами вызовы сервисов переходят с локальных на вызовы через сетевой протокол, что влечет за собой риски безопасности.
Особенность | Описание |
---|---|
Стратегия безопасности | Обеспечивает шифрование трафика между сервисами. При настройке стратегий безопасности для сервисов трафик может шифроваться с помощью mTLS. |
При сбое сервиса обычный процесс устранения неполадок включает: отслеживание аномального трафика > определение места сбоя > сужение области > анализ конкретной причины. Исходя из этого процесса, платформа предоставляет полный путь устранения проблем сервиса, помогая быстро локализовать подозрительные места на основе аномального трафика и оперативно решать проблемы, минимизируя влияние на бизнес.
Особенность | Описание |
---|---|
Мониторинг трафика и JVM | Предоставляет многомерные панели мониторинга трафика для клиентских и серверных сервисов с детализацией до уровня API; - Мониторинг JVM поддерживает сбор и отображение данных по различным показателям, таким как CPU/память, потоки и классы. Позволяет просматривать данные одного пода или сравнивать данные двух подов, помогая разработчикам быстро определить показатели и временные точки возникновения конкретных проблем. |
Оповещения | - Обеспечивает функции оповещений на основе распространенных показателей мониторинга, поддерживает сбор показателей, управление стратегиями, срабатывание оповещений и уведомления. В сочетании с мониторингом трафика и JVM обеспечивает полный опыт интеллектуальной эксплуатации мониторинг-оповещение-уведомление. - Предоставляет шаблоны конфигурации стратегий оповещений, поддерживает настройку отдельных стратегий или быстрое создание стратегий через шаблоны. - Позволяет просматривать информацию о ресурсах, находящихся под оповещением, через панель реального времени, фильтровать данные по уровню оповещения и просматривать детали оповещений, помогая пользователям понять масштаб проблемы и быстро локализовать корень. |
Логи в реальном времени | Предоставляет панель логов в реальном времени на уровне сервиса, позволяя быстро локализовать и устранять проблемы с помощью логов (включая access логи) при возникновении аномалий сервиса. |
Быстрое устранение неполадок | При сбое сервиса можно комбинировать богатые визуальные данные (топология сервисов, трассировка) и данные мониторинга и эксплуатации (мониторинг, оповещения, логи) для отслеживания и локализации аномального трафика и оперативного решения проблем. |
В сценариях с несколькими регионами и дата-центрами, когда под сервиса в одном дата-центре выходит из строя и изолируется с помощью circuit breaking, платформа автоматически распределяет трафик клиента на поды сервиса в других дата-центрах, обеспечивая стабильное предоставление сервиса.
Особенность | Описание |
---|---|
Маршрутизация по близости | Все вызовы сервисов по умолчанию используют маршрутизацию по близости во всех дата-центрах. При длинных цепочках вызовов это эффективно гарантирует приоритетную обработку аварийного трафика конечной точкой сервиса того же кластера. |
Настраиваемый приоритет аварийного восстановления | Позволяет настраивать региональные нагрузки для задания приоритета аварийного восстановления трафика между несколькими кластерами в зависимости от расположения кластеров. |