18.3 — 2. Service decomposition
Mục tiêu bài học
- Nắm được ý chính của bài và mối liên hệ với module.
- Áp dụng được kiến thức vào bối cảnh CRM/.NET backend.
- Sẵn sàng chuyển sang bài kế tiếp với nền tảng chắc chắn.
Nội dung bài học
Nguyên tắc thực dụng:
- Tách theo subdomain có ngôn ngữ nghiệp vụ riêng (Sales so với Billing).
- Mỗi service sở hữu dữ liệu của nó — không share DB trực tiếp giữa hai service (anti-pattern “rạch database”).
Strangler fig: tách dần từ monolith bằng façade hoặc route gateway.
Bài tập áp dụng
- Tóm tắt bài học bằng ngôn ngữ của bạn.
- Liên hệ nội dung với một tình huống thực tế trong dự án.
- Đề xuất một cải tiến cụ thể sau khi học bài này.
Tự kiểm tra
- Bạn có thể giải thích lại nội dung chính trong 2 phút không?
- Bạn có ví dụ áp dụng thực tế chưa?
- Bạn biết bước tiếp theo cần học/triển khai là gì không?
Kết luận
Hoàn thành bài này giúp bạn có góc nhìn đầy đủ hơn trước khi đi tiếp trong module.
Điều hướng
- Bài trước: 18.2 — 1. Khi nào không nên microservices?
- Bài tiếp theo: 18.4 — 3. API Gateway — YARP (ưu tiên .NET)
- Về module: Trang mục lục