Skip to content

System Design Universe

Năm 2012, Instagram đạt 30 triệu người dùng với đúng 3 kỹ sư backend. Không phải vì họ viết code nhanh hơn ai — mà vì họ hiểu cách chọn đúng kiến trúc từ đầu: PostgreSQL thay vì NoSQL, Memcached đặt đúng chỗ, và biết khi nào cần shard. Ngược lại, không ít startup sập hoàn toàn khi traffic tăng 10x chỉ vì một quyết định database sai từ ngày đầu.

System Design là ranh giới giữa người viết code và người kiến trúc hệ thống. Hiểu nó là hiểu cách scale từ 100 đến 100 triệu users, cách chọn giữa consistency và availability, và cách thiết kế để hệ thống vẫn đứng vững khi mọi thứ đều có thể fail.

Lộ trình học

Kiến thức System Design được xây theo 5 tầng. Mỗi tầng phụ thuộc vào tầng trước — đừng nhảy cóc.

Cách tiếp cận khuyến nghị:

  1. Fundamentals trước — Nắm vững scalability, load balancing, caching, database design. Đây là ngôn ngữ chung của mọi cuộc thảo luận kiến trúc.
  2. Distributed Theory — Hiểu bản chất phân tán: consensus, consistency models, communication patterns. Không hiểu tầng này thì mọi quyết định kiến trúc đều dựa trên cảm tính.
  3. Architect Patterns — Áp dụng lý thuyết vào pattern cụ thể: microservices, CQRS, event sourcing. Phân biệt hype và reality.
  4. Case Studies — Thiết kế hệ thống thực tế từ zero. Đây là nơi mọi kiến thức kết nối lại với nhau.

Nội dung

📚 Fundamentals

Nền tảng mà mọi System Architect cần nắm vững trước khi bước vào thế giới phân tán.

Chủ đềMô tả
ScalabilityVertical vs Horizontal Scaling, Capacity Planning
Load BalancingL4/L7, Consistent Hashing, Health Checks
CachingRedis, Memcached, CDN, Cache Invalidation
Database DesignSQL vs NoSQL, Indexing, Sharding Strategies

🔗 Distributed Theory

Bản chất của hệ thống phân tán — nơi mọi thứ đều có thể thất bại bất cứ lúc nào.

Chủ đềMô tả
ConsensusRaft, Paxos, Leader Election
Consistency ModelsStrong vs Eventual, ACID vs BASE
Sync CommunicationREST vs gRPC vs GraphQL
Async MessagingKafka vs RabbitMQ, Pub/Sub Patterns

🏗️ Architect Patterns

Kiến trúc chuyên sâu — phân biệt giữa lý thuyết đẹp và thực tế khắc nghiệt.

Chủ đềMô tả
Monolith vs MicroservicesTrade-offs, Modular Monolith
Distributed Transactions2PC, Saga Pattern, Idempotency
Advanced PatternsCQRS, Event Sourcing, Service Mesh
Serverless & EdgeFaaS, Cold Start, Vendor Lock-in

🏆 Case Studies

Thiết kế hệ thống thực tế từ zero — nơi kiến thức được kiểm chứng qua áp lực thực.

Chủ đềMô tả
Design TwitterFeed fanout, timeline architecture
Design YouTubeVideo processing pipeline, CDN strategy
Design UberGeospatial indexing, real-time matching
Design WhatsAppEnd-to-end encryption, message delivery

Advanced Topics

Chủ đềMô tả
API DesignREST, GraphQL, gRPC — Decision Framework

Bắt đầu từ đâu?

Profile của bạnBắt đầu tại
Mới với System DesignFundamentals → Scalability
Chuẩn bị phỏng vấnCase Studies → Twitter
Senior Engineer muốn đào sâuArchitect Patterns