Microservices là một phong cách kiến trúc trong đó ứng dụng được xây dựng như một tập hợp các service nhỏ, có thể triển khai độc lập, mỗi service đảm nhận một năng lực nghiệp vụ và giao tiếp qua mạng (HTTP, gRPC, hoặc messaging).
Cách hoạt động
Mỗi service chạy trong tiến trình riêng, có kho dữ liệu riêng, và có thể được phát triển, triển khai, mở rộng độc lập. Các team sở hữu service từ đầu đến cuối.
┌──────────────┐
Client ─▶ │ API Gateway │
└──────┬───────┘
┌───────────┼───────────┐
▼ ▼ ▼
┌────────┐ ┌─────────┐ ┌──────────┐
│ Orders │ │ Payments│ │ Shipping │ ← mỗi service: code + DB riêng
└───┬────┘ └────┬────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB shippingDB
