⚖ Сравнение SOA и MSA
Время от времени в различных ситуациях возникает вопрос, чем отличается сервис-ориентированная архитектура (SOA) от микросервисной (MSA).
Кто-то говорит, что MSA это частный случай SOA. Иные убеждены, что вопрос только в размере интегрируемых систем или сервисов.
Можно также встретить мнение, что SOA стремится к максимальной унификации моделей данных и переиспользованию сервисов, в то время как в MSA принимается разнородность данных и логики, а сложность локализуется на уровне контекстов и сервисов.
Не смотря на то, что последняя позиция мне кажется концептуально более верной, предлагаю обратиться к книге Криса Ричардсона "Микросервисы. Паттерны разработки и рефакторинга" (см. обзор) как к авторитетному источнику. В ней приводится следующее сравнение.
🟣Межсервисное взаимодействие
⚙️ SOA: Умные каналы, такие как сервисная шина предприятия (ESB), с использованием тяжеловесных протоколов вроде SOAP и других веб-сервисных стандартов
☸ MSA: Примитивные каналы, такие как брокер сообщений, или прямое взаимодействие между сервисами с помощью легковесных протоколов наподобие REST или gRPC
🟣Данные
⚙️ SOA: Глобальная модель данных и общие базы данных
☸ MSA: Отдельные модель данных и база данных для каждого сервиса
🟣Типовой сервис
⚙️ SOA: Крупное монолитное приложение
☸ MSA: Небольшой сервис
#архитектура #интеграции #сервисы
Post #265
228
- 🔥 5