Monolit pakuje sve funkcionalnosti u jednu jediničnu jedinicu; mikroservisi dijele tu funkcionalnost na mnogo nezavisno pokretljivih usluga. Temeljna razlika je u jedinici implementacije i granicama između modula.
Monolit pakuje sve funkcionalnosti u jednu jediničnu jedinicu; mikroservisi dijele tu funkcionalnost na mnogo nezavisno pokretljivih usluga. Temeljna razlika je u jedinici implementacije i granicama između modula.
| Aspekt | Monolit | Mikroservisi |
|---|
| Implementacija | Jedna jedinica | Mnogo neovisnih jedinica |
| Baza podataka | Obično jedna zajednička BP | Jedna BP po uslizi |
| Skaliranje | Skaliranje cijele aplikacije | Skaliranje usluga pojedinačno |
| Komunikacija | Pozivi u procesu | Mreža (HTTP/gRPC/events) |
| Vezanost tima | Visoka | Niska (vlasništvo po uslizi) |
| Radijus utjecaja greške | Cijela aplikacija | Često izoliran na jednu uslugu |
| Operativna složenost | Niska | Visoka |
MONOLITH best when:
✓ small team / early-stage product
✓ domain not yet well understood
✓ simplicity and fast iteration matter most
MICROSERVICES best when:
✓ large org with many teams
✓ parts have very different scaling needs
✓ you need independent deploy cadence
Loše modulariziran monolit se ne poboljšava magično kada se razdijeli — jednostavno dobiješ distribuirani nered. Prvo ispravite granice.
Odabir pogrešnog stila je skup: preuranjeno dijeljenje dodaje latenciju, operativne troškove i mučno otklanjanje grešaka za mali tim.
Večina uspješnih sustava počinje kao dobro strukturirani monolit i ekstrahira usluge samo kada veličina tima ili pritisak skaliranja jasno to opravdava.