Backend nền tảng
G1 · Monolith và Microservices
Monolith: một codebase, một lần deploy. Đơn giản, phát triển nhanh, dễ test; khó mở rộng, một lỗi có thể sập toàn bộ.
G1 · Middle · cốt lõi
Monolith: một nhà hàng một bếp lớn làm mọi món. Microservices: khu ẩm thực, mỗi quầy một món, tự vận hành.
Cốt lõi
- Monolith: một codebase, một lần deploy. Đơn giản, phát triển nhanh, dễ test; khó mở rộng, một lỗi có thể sập toàn bộ.
- Microservices: service nhỏ độc lập, mỗi service có DB riêng. Scale & deploy độc lập, đa công nghệ; phức tạp, độ trễ mạng, giao dịch phân tán.
Đánh đổi
Bắt đầu nhỏ bằng Monolith; tách Microservices khi team/traffic lớn.
Trong thực tế
Shopify khởi đầu là monolith; Netflix có 1000+ service.
Bug thường gặp
Tách microservices quá sớm nhưng dùng chung một DB → "distributed monolith": vừa phức tạp vừa không deploy độc lập được.
Tự hỏi lại
"Modular monolith" là gì? Khi nào KHÔNG nên tách microservices?