Microservizi è uno stile architetturale dove un'applicazione è costruita come un insieme di servizi piccoli e indipendentemente distribuibili, ognuno responsabile di una capacità di business e comunicante sulla rete (HTTP, gRPC, o messaging).
Come funziona
Ogni servizio gira nel proprio processo, possiede il proprio data store, e può essere sviluppato, distribuito e scalato in modo indipendente. I team possiedono i servizi end to end.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
