Что такое сервисная сетка?

В нашем предыдущем посте API-шлюзы мы обсуждали, как сервисы обрабатывают внешние клиент для обслуживания (Север-Юг) движение.

Когда дело доходит до борьбы с сервис для обслуживания (Восток-Запад) трафик, как правило, для реализации Service Mesh.

обзор

Сетка обслуживания — это выделенный уровень инфраструктуры, который обеспечивает связь между сервисами. Он направлен на то, чтобы обрабатывать все коммуникации между вашими микросервисами приложений без необходимости предоставлять клиентам подробности конфигурации. В качестве Тобиас Кунце кладет это:

(сервисная сетка) — это сетка прокси API, в которую (микро) сервисы могут подключаться для полного отвода сети.

Ключевым моментом здесь является абстракция сети. Основная часть сервисной сетки: «Как сервисы могут находить друг друга?»

В дополнение к самим вашим сервисам, сервисная сетка состоит из двух основных частей: коляски для каждой услуги и плоскость управления. Прежде чем мы углубимся в причины, по которым вы можете рассмотреть сервисную сетку, давайте рассмотрим эти части.

Коляска

В большинстве сервисных сеток реализован прокси-сервер коляски для обработки всех межсервисная связь, Коляски — это адаптеры, которые стоят рядом с сервисом. Они как представители или представители между отделами. Вместо того, чтобы сервисы напрямую общались друг с другом, коляски маршрутизируют и переводят запросы в сервис и обратно.

В системе, как Kubernetesпрокси коляски установлен в том же модуле, что и контейнер коляски, рядом с контейнером для приложений. Поскольку они оба находятся в одном модуле, они могут легко обмениваться данными, и весь трафик проходит через прокси-сервер до достижения приложения. Такое совместное расположение также делает добавленную задержку дополнительного прыжка минимальной.

Коллекция прокси для всех наших сервисов известна как плоскость данных,

Плоскость управления

Плоскость управления является уровнем управления для плоскости данных. Он отвечает за создание новых экземпляров сервисов, мониторинг, управление безопасностью между сервисами и реализацию любых политик для всего приложения. Когда необходимо внести изменения в работу какой-либо общей логики в сетке, плоскость управления отправляет необходимые обновления в коляски.

Плоскости управления часто реализуются в виде сменных систем, где функциональность может быть добавлена ​​по мере необходимости. Это означает, что если вам нужно добавить телеметрию для вашей сервисной сетки, ее можно добавить к существующей конфигурации плоскости управления. Istio это популярное решение для управления плоскостью управления и сервисной сеткой, которое работает таким образом.

Основные преимущества сервисной сетки

Преимущества сервисной сетки становятся все более актуальными по мере роста вашей сети сервисов. Это предотвращает необходимость переписывать одну и ту же или похожую логику снова и снова. Большинство реализаций сервисной сетки фокусируются на:

  • Безопасность: Разрешение шифрования и взаимной аутентификации и авторизации между сервисами. Сетка позволяет вам отделить эту логику от отдельных сервисов.
  • надежность: Реализует шаблоны устойчивости, такие как проверки состояния, тайм-ауты, предохранителии повторяет попытку.
  • возможность наблюдения: Обрабатывает все ваши данные телеметрии, относящиеся к микросервисам и их связи друг с другом. Это включает в себя такие вещи, как ведение журнала, мониторинг и отслеживание. Без сетки это может быть затруднено из-за различных сетевых уровней (экземпляры контейнеров, виртуальные машины и т. Д.), Которые расположены между каждым сервисом.
  • КонфигурируемостьТак как сеть отделена от самих сервисов, сетка обрабатывает такие функции, как формирование трафика, балансировка нагрузки и A / B-тестирование. Сетка также применяет общие политики и конфигурации для всех сервисов.

Недостатки сервисной сетки

В то время как сервисная сетка может удалить большое количество существующих накладных расходов и конфигурации, это новая система для вашей команды. Хотя они существуют уже несколько лет, экосистема все еще сильно развивается, и многие из них тесно связаны с платформой распространения, на которой они построены, например Kubernetes. Первоначальные инвестиции в сложность могут не иметь смысла для больших, уже существующих приложений или приложений с небольшим количеством микросервисов.

Ранее мы упоминали, что совместное размещение дополнительных сервисов и сервисов уменьшает задержку в каждом дополнительном прыжке, но между приложениями и сервисами, на которые они полагаются, все еще существует дополнительный уровень, даже если он быстрый.

Куда приходят шлюзы API?

Используется вместе, API-шлюз управляет маршрутизацией трафика в ваш сервисный меш от ваших клиентов. Любая межсервисная связь по-прежнему происходит внутри сетки. Поскольку сервисные сетки стали более зрелыми, они начинают использовать многие функции шлюзов API. В результате некоторые реализации теперь обрабатывают внешнюю маршрутизацию клиентских запросов и все функции, связанные с принятием этой роли.

В зависимости от набора функций выбранной вами сервисной сетки, в сочетании с требованиями вашего приложения, вы можете обнаружить, что сервисная сетка может обрабатывать свои собственные роли наряду с функциями шлюза API.

Подходит ли вам сервисная сетка?

До этого момента мы упоминали об этом, но стоит сказать: сервисная сетка тесно связана с идеей «облачных» моделей приложений. В частности, смесь микросервисов, контейнеризации и оркестрации.

Управление и сложность этого стиля приложения увеличивают потребность в таком решении, как сервисная сетка. Если ваше приложение использует только несколько микросервисов, сервисная сетка излишня. Это не до тех пор, пока вы не превысите множество уровня микросервисов. Как только они будут взаимодействовать друг с другом, сложность управления возрастет до уровня, который сетка услуг будет иметь смысл для вашего бизнеса.

Завершение

Будущее сервисной сетки — это принятие и расширение возможностей. Многие сервисные сеточные продукты начинают поглощать некоторые функции шлюзов API.

Там, где сервисная сетка помогает вам управлять межсерверной связью в вашем стеке, мы в Bearer создаем решение, которое поможет вашим приложениям и сервисам лучше взаимодействовать со сторонними API, включив такие функции, как ведение журнала, уведомления в режиме реального времени, автоматические повторные попытки. и многое другое без изменения кода или сложных конфигураций. Дайте податель попробуй сегодня.



Источник: Что такое сервисная сетка?


Похожие материалы по теме: Что такое сервисная сетка?

Leave a comment