Skip to content

🏗️ PHASE 3: THE ARCHITECT'S PATTERNS

Kiến trúc Hệ thống: Phân biệt Hype vs Reality


🎯 Mục tiêu học tập

Sau khi hoàn thành Phase 3, bạn sẽ:

  1. Hiểu rõ trade-offs giữa Monolith và Microservices
  2. Xử lý được Distributed Transactions với Saga Pattern
  3. Áp dụng đúng các Advanced Patterns (CQRS, Event Sourcing, Service Mesh)
  4. Đánh giá được khi nào Serverless là lựa chọn phù hợp

📋 Prerequisites

📚 Kiến thức cần có

Trước khi bắt đầu Phase 3, hãy đảm bảo bạn đã nắm vững:


📚 Modules

ModuleNội dungĐộ khó
🏛️ 3.1 Monolith vs MicroservicesTrade-offs, Modular Monolith, Database per Service⭐⭐
🔄 3.2 Distributed Transactions2PC, Saga Pattern, Idempotency⭐⭐⭐
3.3 Advanced PatternsCQRS, Event Sourcing, Service Mesh⭐⭐⭐⭐
☁️ 3.4 Serverless & EdgeFaaS, Cold Start, Vendor Lock-in⭐⭐⭐

👨‍🏫 Teaching Philosophy

Mọi nội dung trong Phase 3 được trình bày từ góc nhìn của hai persona:

🎓 Giáo sư Tom (The Theorist)🔧 Kỹ sư Raizo (The Practitioner)
Lý thuyết & nguyên lý cốt lõiCode thực tế & cấu hình production
"Tại sao pattern này tồn tại?""Đây là cách làm trong production..."
Historical context & evolutionCommon pitfalls & war stories

🧭 Design Philosophy

1. Evolutionary Architecture

Kiến trúc không cố định - bắt đầu từ Monolith, tiến hóa khi tổ chức thay đổi.

2. Complexity Awareness

Mỗi pattern thêm vào là một lớp phức tạp mới. Luôn trả lời: "Cái giá phải trả là gì?"

3. Anti-Pattern Warning

Cảnh báo mạnh mẽ về "Distributed Monolith" - worst of both worlds.


🗺️ Learning Path


💡 Think About It

🤔 Câu hỏi suy ngẫm trước khi bắt đầu

  1. Tại sao nhiều startup thất bại khi áp dụng Microservices quá sớm? Điều gì khiến họ nghĩ đó là lựa chọn đúng?

  2. Nếu NetflixAmazon dùng Microservices, tại sao điều đó không có nghĩa là startup của bạn cũng nên dùng?

  3. "Premature optimization is the root of all evil" - câu nói này áp dụng như thế nào cho việc chọn kiến trúc hệ thống?

  4. Bạn có thể kể tên một hệ thống thành công mà vẫn chạy trên Monolith không? Điều đó nói gì về "best practices"?


🚀 Bắt đầu ngay

👉 Module 3.1: Monolith vs Microservices →