Поделиться через


Архитектура, ориентированная на службы

Подсказка

Это фрагмент из электронной книги «Архитектура микрослужб .NET для контейнеризованных приложений .NET», доступной в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.

Архитектура микросервисов .NET для приложений .NET в контейнерах, миниатюра обложки электронной книги.

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

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

Контейнеры Docker полезны (но не требуются) для традиционных архитектур, ориентированных на обслуживание, и более сложных архитектур микрослужб.

Микрослужбы являются производными от SOA, но SOA отличается от архитектуры микрослужб. Функции, такие как крупные центральные брокеры, центральные оркестраторы на уровне организации и корпоративная служебная шина (ESB), являются типичными в SOA. Но в большинстве случаев это антишаблоны в практике микросервисов. На самом деле, некоторые люди утверждают, что "микросервисная архитектура — это правильный SOA".

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