Tiek SOA (Service-Oriented Architecture) tiek mikroservisai skaidydami sistemas į paslaugas, bet jie skiriasi pagal grūdėtumą, duomenų nuosavybę ir paslaugų komunikacijos būdą.
Tiek SOA (Service-Oriented Architecture) tiek mikroservisai skaidydami sistemas į paslaugas, bet jie skiriasi pagal grūdėtumą, duomenų nuosavybę ir paslaugų komunikacijos būdą.
| Aspektas | SOA | Mikroservisai |
|---|
| Grūdėtumas | Coarse-grained | Fine-grained |
| Komunikacija | Dažnai per ESB | Lightweight (REST/gRPC/messaging) |
| Duomenys | Dažnai bendri | Duomenų bazė kiekvienai paslaugai |
| Valdymas | Centralizuotas | Decentralizuotas |
| Protokolas | Dažnai SOAP/XML | Paprastai 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)
Mikroservisai laikosi "smart endpoints, dumb pipes" principo: intelektas yra paslaugose, o transportas lieka paprastas. SOA dažnai sutelkia logiką ESB.
Negrąžinkite ESB stiliaus kūdra. Sunkus centrinis magistralas paverčia mikroservisus atgal į SOA su papildomais žingsniais.
Skirtumas daugiausia yra apie decentralizaciją: mikroservisai stumia duomenų nuosavybę ir logiką į kiekvieną paslaugą, kad išvengtų centrinio kūdro, kuris sulaužė daug SOA diegimų.
Supratan tai, išvengi jei netyčia perkurti SOA sujungimą po mikroservisų etikete.