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

Совет

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

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

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

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

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

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

Это руководство посвящено описанию микрослужб, поскольку подход SOA менее требователен по сравнению с требованиями и техниками архитектуры микрослужб. Если вы знаете, как создать приложение на основе технологии микрослужб, то вы сможете создать и простое сервисноориентированное приложение.