SOA (Service-Oriented Architecture) i mikrousluge razlažu sustave na usluge, ali se razlikuju po granularnosti, vlasništvu podataka i kako usluge međusobno komuniciraju.
SOA (Service-Oriented Architecture) i mikrousluge razlažu sustave na usluge, ali se razlikuju po granularnosti, vlasništvu podataka i kako usluge međusobno komuniciraju.
| Aspekt | SOA | Mikrousluge |
|---|
| Granularnost | Gruba | Fina |
| Komunikacija | Često preko ESB-a | Lagana (REST/gRPC/messaging) |
| Podaci | Često dijeljeni | Baza podataka po uslugu |
| Upravljanje | Centralizirano | Decentralizirano |
| Protokol | Često SOAP/XML | Obično 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)
Mikrousluge slijede princip "pametni krajnji punkti, glupa cijev": inteligencija je u uslugama, a transport ostaje jednostavan. SOA često centralizira logiku u ESB-u.
Ne reintroducirajte ESB-sličko usko grlo. Teško centralno sabirnica pretvara mikrousluge natrag u SOA s dodatnim koracima.
Razlika je uglavnom o decentralizaciji: mikrousluge guraju vlasništvo podataka i logiku u svaku uslugu kako bi se izbjeglo centralno usko grlo koje je mukotrpilo mnoge SOA implementacije.
Razumijevanje toga čuva vas od slučajnog ponovno pravljenja SOA spajanja pod etiketom mikrousluga.