Microservices είναι ένα αρχιτεκτονικό στυλ όπου μια εφαρμογή κατασκευάζεται ως ένα σύνολο μικρών, ανεξάρτητα αναπτυσσόμενων υπηρεσιών, καθεμία από τις οποίες ιδιοκτησίας μίας επιχειρηματικής δυνατότητας και επικοινωνίας μέσω του δικτύου (HTTP, gRPC ή messaging).
Πώς λειτουργεί
Κάθε υπηρεσία εκτελείται στη δική της διεργασία, έχει το δικό της χώρο αποθήκευσης δεδομένων και μπορεί να αναπτυχθεί, να αναπτυχθεί και να κλιμακωθεί ανεξάρτητα. Οι ομάδες διαθέτουν τις υπηρεσίες από αρχής έως τέλους.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
