Продвинутый
Чем отличается SOA и микросервисная архитектура?
Оба подхода разбивают монолит на сервисы, но есть концептуальные отличия:
SOA (Сервисно-ориентированная архитектура):
- Сервисы крупные (макросервисы), часто переиспользуемые всем предприятием.
- Общение идет через центральную умную шину ESB.
- Сервисы часто делят общую базу данных.
Микросервисы:
- Сервисы мелкие, сфокусированы на одной бизнес-задаче (Bounded Context).
- Общение идет через "глупые трубы" (REST, Kafka, gRPC) без центральной логики.
- У каждого микросервиса строго своя БД (децентрализация данных).