Microservices adalah gaya arsitektur di mana aplikasi dibangun sebagai rangkaian layanan kecil yang dapat digunakan secara independen, masing-masing memiliki satu kemampuan bisnis dan berkomunikasi melalui jaringan (HTTP, gRPC, atau messaging).
Cara kerjanya
Setiap layanan berjalan dalam proses-nya sendiri, memiliki penyimpanan data-nya sendiri, dan dapat dikembangkan, digunakan, dan diskalakan secara independen. Tim memiliki layanan dari ujung ke ujung.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← each: own code + DB
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
