Zarówno SOA (Service-Oriented Architecture) jak i mikrousługi rozkładają systemy na usługi, ale różnią się szczegółowością, własnością danych i sposobem komunikacji między usługami.
Zarówno SOA (Service-Oriented Architecture) jak i mikrousługi rozkładają systemy na usługi, ale różnią się szczegółowością, własnością danych i sposobem komunikacji między usługami.
| Aspekt | SOA | Mikrousługi |
|---|
| Szczegółowość | Gruba | Drobna |
| Komunikacja | Często poprzez ESB | Lekkie (REST/gRPC/messaging) |
| Dane | Często wspólne | Baza danych na usługę |
| Zarządzanie | Scentralizowane | Zdecentralizowane |
| Protokół | Często SOAP/XML | Zwykle HTTP/JSON, gRPC |
SOA ─▶ Service A ─▶ [ Enterprise Service Bus ] ─▶ Service B
(smart pipes, central orchestration, shared schemas)
Microservices ─▶ Service A ──(direct REST/gRPC/event)──▶ Service B
("smart endpoints, dumb pipes" — logic lives in services)
Mikrousługi stosują zasadę "smart endpoints, dumb pipes": inteligencja znajduje się w usługach, a transport pozostaje prosty. SOA często centralizuje logikę w ESB.
Nie wprowadzaj ponownie wąskiego gardła w stylu ESB. Ciężka centralna magistrala zmienia mikrousługi z powrotem w SOA z dodatkowymi krokami.
Różnica dotyczy głównie decentralizacji: mikrousługi przenoszą własność danych i logikę do każdej usługi, aby uniknąć centralnego wąskiego gardła, które nękaało wiele wdrożeń SOA.
Zrozumienie tego zapobiega przypadkowej przebudowie sprzęgła SOA pod etykietą mikrousług.
Biblioteka pytań rekrutacyjnych IT ze szczegółowymi odpowiedziami — od Juniora do Seniora.
Wesprzyj