TeamLead
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Сервисная

Сервис-ориентированная архитектура (service-oriented architecture, SOA) придумана в конце 1980-х. Она берёт своё начало в идеях, изложенных в CORBA, DCOM, DCE и других документах. О SOA написано много, есть несколько её реализаций. Но, по сути, SOA можно свести к нескольким идеям, причём архитектура не диктует способы их реализации:

  • Сочетаемость приложений, ориентированных на пользователей.
  • Многократное использование бизнес-сервисов.
  • Независимость от набора технологий.
  • Автономность (независимые эволюция, масштабируемость и развёртываемость).

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

Достоинства сервисной архитектуры

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

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

  • Все входные данные должны быть проверены перед отправкой в ​​службу
  • SOA – это дорогостоящий сервис с точки зрения человеческих ресурсов, развития и технологий.
  • Некоторым веб-службам необходимо часто отправлять и получать сообщения и информацию, поэтому они легко достигают миллиона запросов в день.
  • Когда служба взаимодействует с другой службой, это приводит к большим издержкам, что увеличивает время отклика.

Сравнение сервисной и микросервисной архитектуры

Сервисная архитектура

Модель SOA имеет один слой хранения данных, который используется всеми службами в этом приложении.

Микросервисной архитектуры

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

Систематическое изменение требует модификации монолита.

Систематические изменения помогут вам создать новый сервис.

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

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

Приложение SOA, состоящее из двух или трех сервисов.

Приложение Microservices может иметь десятки услуг.

SOA-приложения созданы для выполнения многочисленных бизнес-задач.

Они созданы для выполнения одной бизнес-задачи.

Менее масштабируемая архитектура.

Высоко масштабируемая архитектура.

Какая архитектура лучше?

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

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