Архитектура soa что это

SOA (сервис-ориентированная архитектура)

Что такое SOA (сервис-ориентированная архитектура)?

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

Каждый сервис SOA содержит интеграции кода и данных, необходимые для выполнения конкретной бизнес-функции, такой как проверка кредита клиента, вычисление ежемесячного взноса или обработка заявки на ипотеку. Интерфейсы сервисов являются слабо связанными, то есть они могут использоваться даже при небольших знаниях о том, как выполняется интеграция. Доступ к сервисам предоставляется с использованием стандартных сетевых протоколов, таких как SOAP (простой протокол доступа к объектам)/HTTP или JSON/HTTP, по которым отправляются запросы на чтение или изменение данных. Сервисы публикуются таким образом, что они позволяют разработчикам быстро находить их и повторно использовать для сборки новых приложений.

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

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

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

Что такое ESB?

ESB (сервисная шина предприятия) — это шаблон, в рамках которого централизованный компонент осуществляет интеграцию с базовыми системами, а затем открывает доступ к этим интеграциям в качестве интерфейсов сервисов. Она обеспечивает преобразование моделей данных, тесное взаимодействие, маршрутизацию и даже создание нескольких запросов, объединяя эти функции в одном интерфейсе сервиса, который может повторно использоваться новыми приложениями. Как правило, шаблон ESB реализован с помощью специально разработанной среды выполнения интеграции и инструментов, которые хорошо подходят для максимально эффективного выполнения указанных выше функций.

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

Дополнительная информация о ESB приведена на веб-странице «Введение в ESB (сервисная шина предприятия)».

Преимущества SOA

SOA предлагает существенные преимущества по сравнению с предшествующими архитектурами:

Примеры SOA

Уже в 2010 году реализации SOA активно использовались передовыми компаниями практически в каждой отрасли. Например:

SOA и микросервисы

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

Архитектура микросервисов появилась и получила широкое распространение на фоне растущей популярности виртуализации, облачных вычислений, гибких методик разработки и DevOps. Большая часть преимуществ микросервисов в этих контекстах связана с полным отделением компонентов, в результате которого упрощаются и улучшаются следующие процессы:

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

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

SOA и IBM Cloud

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

Сделайте следующий шаг:

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

Источник

Лучшая архитектура для MVP: монолит, SOA, микросервисы или бессерверная. Часть 1

В ноябре OTUS запускает новую образовательную программу «Архитектор ПО», в связи с этим подготовили серию публикаций для будущих студентов курса и читателей нашего блога.

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

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

Монолитная архитектура

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

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

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

Несмотря на то, что у нас был положительный опыт использования микросервисов в Google, мы [в Scaylr] пошли по монолитному маршруту, потому что наличие одного монолитного сервера предполагает меньше работы для нас как для двух инженеров.
Стивен Червински, руководитель отдела проектирования в Scaylr

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

Плюсы монолитной архитектуры

Упрощенная разработка и развертывание

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

Меньше сквозных проблем

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

Лучшая производительность

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

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

Кодовая база со временем становится громоздкой

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

Сложно внедрять новые технологии

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

Ограниченная гибкость

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

В итоге

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

Сервис-ориентированная архитектура (далее SOA — service-oriented architecture) — это стиль архитектуры программного обеспечения, который предполагает модульное приложение, состоящее из дискретных и слабосвязанных программных агентов, которые выполняют конкретные функции. SOA разделяет компоненты по двум основным ролям: поставщик и потребитель сервисов. Обе эти роли могут играть программные агенты. Концепция SOA заключается в следующем: приложение может быть спроектировано и построено таким образом, что его модули легко интегрируются и могут быть легко использованы повторно.

Плюсы SOA

Повторное использование сервисов

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

Легкость в сопровождении

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

Более высокая надежность

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

Параллельная разработка

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

Минусы SOA

Сложность в управлении

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

Высокие инвестиционные затраты

Разработка SOA требует значительных предварительных инвестиций в человеческие ресурсы, технологии и разработку.

Дополнительная нагрузка

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

В итоге

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

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

Источник

Сервис-ориентированная архитектура (SOA)

Архитектура soa что это. eybrert4uuwh3skcp5kprps9ye8. Архитектура soa что это фото. Архитектура soa что это-eybrert4uuwh3skcp5kprps9ye8. картинка Архитектура soa что это. картинка eybrert4uuwh3skcp5kprps9ye8.

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

SOA — это набор архитектурных принципов, не зависящих от технологий и продуктов, совсем как полиморфизм или инкапсуляция.

В этой статье я рассмотрю следующие паттерны, относящиеся к SOA:

Общая архитектура брокера объектных запросов (CORBA)

В 1980-х началось активное использование корпоративных сетей и клиент-серверной архитектуры. Возникла потребность в стандартном способе взаимодействия приложений, которые созданы с использованием разных технологий, исполняются на разных компьютерах и под разными ОС. Для этого была разработана CORBA. Это один из стандартов распределённых вычислений, зародившийся в 1980-х и расцветший к 1991 году.

Стандарт CORBA был реализован несколькими вендорами. Он обеспечивает:

Сегодня CORBA всё ещё используется для разнородных вычислений. Например, он до сих пор является частью Java EE, хотя начиная с Java 9 будет поставляться в виде отдельного модуля.

Хочу отметить, что не считаю CORBA паттерном SOA (хотя отношу и CORBA, и SOA-паттерны к сфере распределённых вычислений). Я рассказываю о нём здесь, поскольку считаю недостатки CORBA одной из причин возникновения SOA.

Принцип работы

Сначала нам нужно получить брокер объектных запросов (Object Request Broker, ORB), который соответствует спецификации CORBA. Он предоставляется вендором и использует языковые преобразователи (language mappers) для генерирования «заглушек» (stub) и «скелетов» (skeleton) на языках клиентского кода. С помощью этого ORB и определений интерфейсов, использующих IDL (аналог WSDL), можно на основе реальных классов генерировать в клиенте удалённо вызываемые классы-заглушки (stub classes). А на сервере можно генерировать классы-скелеты (skeleton classes), обрабатывающие входящие запросы и вызывающие реальные целевые объекты.

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

Вызывающая программа (caller) вызывает локальную процедуру, реализованную заглушкой.

Достоинства

Недостатки

Веб-сервисы

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

И для решения этих задач в конце 1990-х начали появляться веб-сервисы.

[Веб-]сервисы можно публиковать, находить и использовать стандартным образом вне зависимости от технологий.
— Microsoft 2004, Understanding Service-Oriented Architecture

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

Благодаря микросервисам мы перешли в парадигме SOA от удалённого вызова методов объекта (CORBA) к передаче сообщений между сервисами.

Но нужно понимать, что в рамках SOA веб-сервисы — не просто API общего назначения, всего лишь предоставляющие CRUD-доступ к базе данных через HTTP. В каких-то случаях эта реализация может быть полезной, но ради целостности ваших данных необходимо, чтобы пользователи понимали лежащую в основе реализации модель и соблюдали бизнес-правила. SOA подразумевает, что веб-сервисы являются ограниченными контекстами бизнес-субдоменов (business sub-domain) и отделяет реализацию от решаемых веб-сервисами задач.

С точки зрения технологий SOA не просто сервисная архитектура, а набор политик, методик и фреймворков, благодаря которым мы предоставляем и получаем нужные сервисы.
— Microsoft 2004, Understanding Service-Oriented Architecture

Достоинства

Недостатки

Очередь сообщений

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

Очередь сообщений использует в качестве компонента инфраструктуры программный брокер сообщений (RabbitMQ, Beanstalkd, Kafka и т. д.). Для реализации связи между приложениями можно по-разному настроить очередь:

Запрос/Ответ

Архитектура soa что это. . Архитектура soa что это фото. Архитектура soa что это-. картинка Архитектура soa что это. картинка .

Все эти паттерны можно отнести к либо к pull- (polling), либо к push-подходу:

Достоинства

Недостатки

Сервисная шина предприятия (ESB)

Сервисная шина предприятия использовала веб-сервисы уже в 1990-х, когда они только развивались (быть может, некоторые реализации сначала использовали CORBA?).

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

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

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

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

Клиент (сервис или модульное приложение) отправляет запрос на сервисную шину, которая преобразует сообщение в формат, поддерживаемый в точке назначения, и перенаправляет туда запрос. Всё взаимодействие идёт через сервисную шину, так что если она падает, то с ней падают и все остальные системы. То есть ESB — ключевой посредник, очень сложный компонент системы.

Это очень упрощённое описание архитектуры ESB. Более того, хотя ESB является главным компонентом архитектуры, в системе могут использоваться и другие компоненты вроде доменных брокеров (Domain Broker), сервисов данных (Data Service), сервисов процессной оркестровки (Process Orchestration Service) и обработчиков правил (Rules Engine). Тот же паттерн может использовать интегрированная архитектура (federated design): система разделена на бизнес-домены со своими ESB, и все ESB соединены друг с другом. У такой схемы выше производительность и нет единой точки отказа: если какая-то ESB упадёт, то пострадает лишь её бизнес-домен.

Архитектура soa что это. . Архитектура soa что это фото. Архитектура soa что это-. картинка Архитектура soa что это. картинка .

Главные обязанности ESB:

Создавая структуры связи между разными процессами, мы видели много продуктов и подходов, в которых применяются очень развитые механизмы связи. Хороший пример — сервисные шины предприятий, часто включающие в себя сложные средства маршрутизации сообщений, хореографии, преобразования и применения бизнес-правил.
— Martin Fowler 2014, Microservices

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

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

Достоинства

Недостатки

Микросервисы

В основе микросервисной архитектуры лежат концепции SOA. Назначение у неё то же, что и у ESB: создать единое общее корпоративное приложение из нескольких специализированных приложений бизнес-доменов.

Главное различие микросервисов и шины в том, что ESB была создана в контексте интеграции отдельных приложений, чтобы получилось единое корпоративное распределённое приложение. А микросервисная архитектура создавалась в контексте быстро и постоянно меняющихся бизнесов, которые (в основном) с нуля создают собственные облачные приложения.

То есть в случае с ESB у нас уже были приложения, которые нам не «принадлежат», и поэтому мы не могли их изменить. А в случае с микросервисами мы полностью контролируем приложения (при этом в системе могут использоваться и сторонние веб-сервисы).

Характер построения/проектирования микросервисов не требует глубокой интеграции. Микросервисы должны соответствовать бизнес-концепции, ограниченному контексту. Они должны сохранять своё состояние, быть независимыми от других микросервисов, и потому они меньше нуждаются в интеграции. То есть низкая взаимозависимость и высокая связность привели к замечательному побочному эффекту — уменьшению потребности в интеграции.

[Микросервисы — это] маленькие автономные сервисы, работающие вместе и спроектированные вокруг бизнес-домена.
— Sam Newman 2015, Principles Of Microservices

Главным недостатком архитектуры ESB было очень сложное централизованное приложение, от которого зависели все остальные приложения. А в микросервисной архитектуре это приложение почти целиком убрано.

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

Сэм Ньюман, автор Building Microservices, выделяет восемь принципов микросервисной архитектуры. Это:

Архитектура soa что это. 8i3n 1w4bdgvpesqlwcj6v2p1ak. Архитектура soa что это фото. Архитектура soa что это-8i3n 1w4bdgvpesqlwcj6v2p1ak. картинка Архитектура soa что это. картинка 8i3n 1w4bdgvpesqlwcj6v2p1ak.

Сообщество предпочитает другой подход: умные конечные точки и глупые каналы. Микросервисы, из которых собираются приложения, должны как можно меньше зависеть друг от друга и при этом быть очень тесно связанными — они содержат собственную доменную логику и работают скорее как фильтры с точки зрения классического Unix: получают запросы, применяют логику и генерируют ответы. Они оркестрируются с помощью простых REST-подобных протоколов, а не сложных протоколов вроде WS-Choreography или BPEL либо какого-то централизованного инструмента.
— Martin Fowler 2014, Microservices

Достоинства

Недостатки

Антипаттерн: архитектура равиоли (Ravioli Architecture)

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

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

Заключение

В последние десятилетия SOA сильно эволюционировала. Благодаря неэффективности прежних решений и развитию технологий сегодня мы пришли к микросервисной архитектуре.

Эволюция шла по классическому пути: сложные проблемы разбивались на более мелкие, простые в решении.

Проблему сложности кода можно решать так же, как мы разбиваем монолитное приложение на отдельные доменные компоненты (разграниченные контексты). Но с разрастанием команд и кодовой базы увеличивается потребность в независимом развитии, масштабировании и развёртывании. SOA помогает добиться такой независимости, упрочняя границы контекстов.

Архитектура soa что это. image loader. Архитектура soa что это фото. Архитектура soa что это-image loader. картинка Архитектура soa что это. картинка image loader.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *