Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Облачные вычисления

Что такое Service Mesh? Какие существуют сервисные сетки с открытым исходным кодом?

При разработке микросервисной архитектуры команде DevOps необходимо настроить множество отдельных компонентов. Для совместной работы микросервисов им требуются установленные каналы связи для обмена информацией и передачи данных.

Одним из способов управления и мониторинга обмена данными между службами является использование сетки служб.

Что такое Service Mesh?

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

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

Прокси-серверы предоставляют ценные возможности, в том числе:

Расцвет сервисной сетки

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

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

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

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

До архитектуры ячеистых сервисов эту задачу выполняли балансировщики нагрузки. . Однако это не было практичным решением, особенно в больших масштабах, из-за проблем с развертыванием и стоимостью. Сервисная сетка была разработана как окончательное решение всех упомянутых выше проблем. Он представлял собой сетевой уровень с централизованным реестром (плоскость управления), который управлял всеми службами с помощью дополнительных прокси-серверов. Их гораздо проще настраивать и масштабировать по сравнению с балансировщиками нагрузки. Разработчики могут увеличивать и уменьшать прокси-серверы по мере необходимости и изменять правила маршрутизации без изменения служб.

Преимущества сервисной сетки

Наиболее существенные преимущества Service Mesh:

Список сервисных сеток с открытым исходным кодом

Доступен ряд сервисных сеток с открытым исходным кодом. Наиболее широко используются Istio, Linkerd и Consul.

Ниже вы найдете более подробную информацию о каждой платформе.

Истио

Istio — это инфраструктура с открытым исходным кодом, разработанная Google, IBM и Lyft. Это одна из первых платформ сервисной сетки. Он использует Istiod , плоскость управления, состоящая из нескольких компонентов (PilotЦитадель и Микшер ) для работы и настройки сервисной сетки. Плоскость данных состоит из Envoy. прокси, разработанные на C++ . Соединения HTTP/TCP управляются Шлюзом. , балансировщик нагрузки Istio. Виртуальная служба и Правила назначения определить правила и политики маршрутизации.

Линкерд

Linkerd — это облегченная сервисная сетка с открытым исходным кодом, разработанная в рамках проекта Cloud Native Computing Foundation (CNCF). Его легко установить в кластере Kubernetes поверх любой платформы без дополнительной настройки. Отсутствие конфигурации выгодно при работе с небольшими кластерами. Однако крупномасштабные проекты требуют возможности настройки для успешного управления всеми службами в кластере.

Дополнительные прокси-серверы написаны на Rust. . Linkerd использует Контроллер для плоскости управления и веб-развертывания для приборной панели. Кроме того, он использовал Prometheus для изучения и хранения показателей и Grafana для рендеринга и отображения информационных панелей.

Консул Коннект

Consul изначально разрабатывался как инструмент обнаружения сервисов, а затем превратился в сервисную сетку. В отличие от Linkerd, Consul Connect включает множество настроек, что дает вам больший контроль над сетевой средой. Соответственно, его сложнее использовать, чем Linkerd. Эта сервисная сетка с открытым исходным кодом не зависит от платформы, то есть для нее не требуется Kubernetes или Nomad. Тем не менее Кочевник упрощает процесс управления взаимодействием микросервисов через Consul.

Открытая сервисная сеть Microsoft

Open Service Mesh (OSM) – это проект CNCF Envoy. который реализует интерфейс сервисной сетки для управления динамическими микросервисными приложениями и их защиты. Он использует Envoy xDS. в качестве боковых контейнеров. Его основные функции включают в себя переключение трафика, управление сертификатами, включение mTLS, автоматическую вставку дополнений и политики контроля доступа.

Кума

Kuma — это плоскость управления с открытым исходным кодом для Kubernetes и виртуальных машин, работающих в сервисной сетке. Он имеет архитектуру политик L4+L7. который реализует такие функции, как обнаружение сервисов, маршрутизация, безопасность с нулевым доверием и возможность наблюдения. Платформа легко масштабируется и легко настраивается.

Сервисная сетка OpenShift Red Hat

Red Hat разработала OpenShift Service Mesh для управления микросервисными приложениями. Он предоставляет несколько сетевых интерфейсов и повышенную безопасность с ограничением контекста безопасности. . Он измеряет производительность с помощью Jager. и наблюдает за взаимодействием сервисов с Kiali. . Кроме того, OpenShift включает адаптер Red Hat 3scale Istio Mixer Adapter. для повышения безопасности API.

Сетка приложения AWS

Amazon разработала App Mesh, бесплатное программное обеспечение для построения сетки сервисов, которое управляет всеми вашими сервисами в рамках микросервисной архитектуры. Он обеспечивает высокую доступность и сквозную видимость для вашего микросервисного приложения. AWS App Mesh интегрируется с AWS Fargate. , Amazon ECSAmazon EC2Amazon EKSКубернетес и AWS Outposts . Благодаря своим инструментам мониторинга он автоматически экспортирует данные мониторинга.

Сетка сетевых служб

Network Service Mesh – это открытый проект песочницы CNCF. . Это гибридная/многооблачная сетка IP-сервисов, в которой используется простой набор API-интерфейсов для облегчения подключения. Он устанавливает соединение между службами, работающими внутри контейнеров, и внешними конечными точками. При его реализации требуются минимальные изменения в Kubernetes.

В заключение

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


Облачные вычисления

  1. Какие курсы по облачным вычислениям самые лучшие?
  2. Каковы преимущества гидроабразивной резки?
  3. Каковы преимущества пескоструйной обработки?
  4. Каковы основные свойства графита?
  5. Каковы преимущества гидроабразивной резки?
  6. Что такое 7 типов технологий?
  7. Какие существуют виды прототипирования?
  8. Какие существуют 4 типа производственного процесса?
  9. Что такое 5 осей обработки?
  10. Какие бывают виды подшипников