Это второй день моего участия в ноябрьском испытании обновлений, подробности о мероприятии:Вызов последнего обновления 2021 г.
Service Mesh
Переводится как «сервисная сетка», т.к.Уровень инфраструктуры для межсервисного взаимодействия. Облегченный высокопроизводительный сетевой прокси-сервер, обеспечивающий безопасное, быстрое и надежное взаимодействие между службами, а также фактическое развертывание приложения, но прозрачный для приложения. Как инициатор службы, приложению нужно только отправить запрос локальному прокси-серверу службы самым простым способом, а затем прокси-сервер выполнит последующие операции, такие как обнаружение службы, балансировка нагрузки и, наконец, перенаправит запрос на целевой сервис.
Service Mesh
Цель состоит в том, чтобы решить проблему межсервисного взаимодействия и управления после микросервисной архитектуры системы.Сервисная сетка отSidecar
Суть этого шаблона заключается в реализации разделения плоскости данных (бизнес-логики) и плоскости управления. В частности, в архитектуре микрослужб, то есть синхронно развертывайте для каждого экземпляра микрослужбы.Sidecar
.
Рисунок 3.1.1: Структура сети развертывания Service Mesh
существуетService Mesh
На схеме структуры сети развертывания зеленые квадраты — это сервисы приложений, а синие квадраты — службы приложений.Sidecar
, между службами приложений черезSidecar
Для связи вся служебная связь образует синее сетевое соединение на рисунке, а все синие части на рисунке формируются.Service Mesh
. Он имеет следующие основные особенности:
- Средний уровень связи между приложениями
- Легкий веб-прокси
- приложение-агностик
- Раздельные повторные попытки/тайм-ауты приложений, мониторинг, отслеживание и обнаружение служб
Service Mesh
Появление решения устраняет болевые точки в традиционной микросервисной среде, позволяя разработчикам сосредоточиться на самом бизнесе, и в то же время коммуникация сервисов и связанные с ними функции управления и контроля отделены от бизнеса на уровне инфраструктуры.
1. Функция сервисной сетки
Service Mesh
Как уровень инфраструктуры, отвечающий за сетевое взаимодействие в микросервисной архитектуре, он выполняет большинство функций сетевой обработки. Некоторые из основных особенностей перечислены ниже:
- Динамическая маршрутизация.Правила маршрутизации могут использоваться для динамического маршрутизации к запрошенному сервису, что удобно для динамической настройки маршрутизации в разных средах, разных версиях и т.д.
- Инъекция ошибки.Вводя ошибки для имитации проблем при передаче по сети (таких как задержка) для проверки надежности системы, удобно выполнять различные тесты ошибок системы.
- предохранитель.Устранение потенциальных ошибок корреляции путем понижения уровня обслуживания.
-
Безопасность. существует
Service Mesh
реализовать механизмы безопасности (такие какTLS
), а обновления механизма безопасности легко выполняются на уровне инфраструктуры. -
Многоязычная поддержка.Работает независимо и прозрачно для бизнеса
Sidecar
играет роль,Service Mesh
Легко поддерживать разнородные системы на нескольких языках. - Поддержка нескольких протоколов.Как и многоязычность, также поддерживается многопротокольность.
- Метрики и отслеживание распределенных ссылок.
В итоге,Service Mesh
В основном это отражается в следующих четырех аспектах:
- Видимость:Телеметрия метрик времени выполнения, распределенная трассировка.
- Управляемость:Обнаружение сервисов, балансировка нагрузки, динамическая маршрутизация во время выполнения и т. д.
- Надежность:Гибкие возможности, такие как тайм-аут, повторная попытка и автоматический выключатель.
-
безопасность:межсервисный контроль доступа,
TLS
Зашифрованное общение.
2. Проблемы, решаемые Service Mesh
из вышеперечисленногоService Mesh
См. определение:
-
Слой инфраструктуры — это
Service Mesh
позиционирование, занимается решением проблем стандартизации, настройки, обслуживания и продуктизации микросервисной инфраструктуры. -
Межсервисная связь есть
Service Mesh
технические проблемы, чтобы защитить сложность связи для микросервисов и решить проблему управления связью микросервисов. - Надежная доставка запросов
Service Mesh
Цель. - Легкий веб-прокси
Service Mesh
метод развертывания. - Прозрачность для приложения да
Service Mesh
Основные моменты и функции системы не мешают бизнесу.
Вышесказанное,Service Mesh
Он в основном решает болевые точки пользователей в следующих трех измерениях:
-
Полная микросервисная инфраструктура
Перенося связь микросервисов на уровень инфраструктуры, сложность решения различных коммуникационных проблем микросервисов экранируется, и формируется абстрактный уровень протокола между микросервисами. Разработчикам не нужно заботиться о конкретной реализации коммуникационного уровня, а также им не нужно обращать внимание на
RPC
Все детали связи (включая обнаружение сервисов, балансировку нагрузки, планирование трафика, деградацию трафика, мониторинг статистики и т. д.) действительно используют микросервисы, такие как локальные вызовы, и работают вместе, связанные со связью напрямую сService Mesh
. -
Независимая от языка коммуникация и управление ссылками
Функционально,
Service Mesh
не предоставляет каких-либо новых функций и возможностей,Service Mesh
Все возможности связи и управления услугами, предоставляемые вService Mesh
можно найти в предыдущих методах, таких какSpring Cloud
полные микросервисыRPC
Поддержка связи и управления услугами.Service Mesh
Что изменилось, так это то, как предоставляются возможности связи и управления услугами: путем отделения этих возможностей от бизнес-реализации различных языков, опускания их на уровень инфраструктуры и предоставления их более общим и стандартизированным способом, защищающим различные языки. и разные платформы. разница, что способствует итерации и инновациям в возможностях связи и управления услугами, делая реализацию бизнеса более удобной.Service Mesh
Это позволяет избежать дублирования построения многоязычного управления услугами.Service Mesh
Возможности независимого от языка общения и управления услугами помогают повысить эффективность многоязычных технологических стеков. -
Стандартизация коммуникаций и управления услугами
-
Уровень управления микросервисом,
Service Mesh
Это стандартизированная, систематическая и ненавязчивая распределенная платформа управления. -
Стандартизация,
Sidecar
Станьте обязательным стандартом для передачи трафика всех микросервисов, и в то же времяService Mesh
Платформа данных и плоскость управления также взаимодействуют через стандартные протоколы. -
Систематические аспекты, с глобальной точки зрения, чтобы обеспечить возможности наблюдения за многомерными и трехмерными микросервисами (
Metric
,Trace
,Logging
) и предоставлять возможности систематического управления услугами, такие как ограничение тока, объединение, безопасность, оттенки серого и т. д.
Стандартизация обеспечивает согласованный опыт управления услугами, снижает затраты на связь и преобразование, вызванные несогласованными стандартами управления услугами среди нескольких предприятий, и повышает эффективность глобального управления услугами.
-
Уровень управления микросервисом,
3. Принцип сервисной сетки
Ядром Service Mesh является плоскость данных.Sidecar
с плоскостью управленияControl Plane
,Как показано ниже:
Рисунок 3.1.2: Схема архитектуры Service Mesh
-
Плоскость данных:
Sidecar
, облегченный сетевой прокси, развернутый вместе со службой, используемый для реализации различных функций структуры службы (таких как обнаружение службы, балансировка нагрузки, ограничение тока и плавкий предохранитель и т. д.), чтобы служба вернулась к сути бизнеса.Платформу данных можно рассматривать как
Spring Cloud
,Dubbo
Это несовместимый с языком процесс, который не зависит от возможностей связи и управления услугами в соответствующих средах микросервисов и уделяет больше внимания универсальности и масштабируемости. существуетService Mesh
, вместо того, чтобы рассматривать прокси-серверы плоскости данных как отдельные компоненты, эти прокси-серверы соединяются вместе, образуя глобальную распределенную сетку.В традиционной микросервисной архитектуре логика кода различных функций инфраструктуры службы (таких как обнаружение службы, балансировка нагрузки, ограничение тока и слияние и т. д.) должна быть более или менее связана с кодом экземпляра службы, что увеличивает срок службы. Например, много кода, который не имеет ничего общего с бизнесом, в то же время вносит определенную степень сложности.
имеют
Sidecar
После этого сервисный узел выполняет только функцию самой бизнес-логики, а вызовы между сервисами нужно только передать наSidecar
,Зависит отSidecar
Полные бизнес-функции, такие как службы регистрации, обнаружение служб, маршрутизация запросов, ограничение тока выключателя и статистика журналов.В этой новой микросервисной архитектуре все
Sidecar
Вместе они образуют сервисную сетку. Тогда эта большая сервисная сетка не является полностью автономной, ей также нужен единый управляющий узел.Control Plane
. -
Плоскость управления:используется для управления с глобальной точки зрения
Sidecar
, эквивалентноService Mesh
Мозг архитектуры, контролирующийSidecar
Реализовать функции управления услугами. Например, он отвечает за всеSidecar
регистрацию, хранить единую таблицу маршрутизации, помогать каждомуSidecar
выполняет балансировку нагрузки и планирование запросов; он собирает всеSidecar
информация о мониторинге и данные журнала.
\