System Design Mastery — Roadmap 20 Tuần

Người hướng dẫn: Principal Engineer & SRE Lead Học viên: Hieu — Backend Developer → System Architect Phương pháp: Alex Xu (SDI) + DDIA + Google SRE + AWS Builders Library + Security First Tham chiếu chính: System Design Interview — Alex Xu, DDIA — Kleppmann, References (full index) CS Foundations: 5 file foundations tại 06-CS-Foundations/ — đọc song song hoặc trước bonus chapters

CS Foundations (đọc trước/song song advanced topics)

FileCần thiết cho
Tuan-Foundations-OS-EssentialsLLM Serving (PagedAttention), eBPF, Containers, fsync
Tuan-Foundations-Computer-ArchitectureLLM Serving (memory bandwidth), Vector DB, performance
Tuan-Foundations-Database-InternalsLakehouse (Parquet/columnar), Postgres internals, MVCC
Tuan-Foundations-Compilers-VMsEdge+Wasm, V8 isolate, GC tuning
Tuan-Foundations-Math-for-ArchitectsVector search, A/B test, CRDT lattice, queueing


Triết lý học

"Everyone has a plan until they get punched in the face." — Mike Tyson

System Design không phải môn học thuộc lòng. Nó là môn ra quyết định dưới ràng buộc (constraints). Mỗi tuần trong roadmap này sẽ rèn cho Hieu ba thứ:

  1. Tư duy định lượng — Không nói “nhiều”, hãy nói “50K TPS”.
  2. Tư duy trade-off — Mọi lựa chọn đều có giá. CAP, latency vs throughput, cost vs reliability.
  3. Tư duy vận hành — Thiết kế xong phải deploy được, monitor được, và secure được.

Tổng quan 20 tuần

gantt
    title System Design Mastery — 20 Weeks
    dateFormat  YYYY-MM-DD
    axisFormat  %b %d

    section Phase 1: Fundamentals
    Tuần 01 - Scale from Zero         :t1, 2026-03-23, 7d
    Tuần 02 - Back-of-the-envelope    :t2, after t1, 7d
    Tuần 03 - Networking DNS CDN      :t3, after t2, 7d
    Tuần 04 - API Design              :t4, after t3, 7d

    section Phase 2: Components
    Tuần 05 - Load Balancer            :t5, after t4, 7d
    Tuần 06 - Cache Strategy           :t6, after t5, 7d
    Tuần 07 - Database Shard/Replica   :t7, after t6, 7d
    Tuần 08 - Message Queue            :t8, after t7, 7d
    Tuần 09 - Rate Limiter             :t9, after t8, 7d
    Tuần 10 - Consistent Hashing       :t10, after t9, 7d

    section Phase 3: Arch + DevOps + Security
    Tuần 11 - Microservices Pattern    :t11, after t10, 7d
    Tuần 12 - CI/CD Pipeline           :t12, after t11, 7d
    Tuần 13 - Monitoring Observability :t13, after t12, 7d
    Tuần 14 - AuthN/AuthZ Security     :t14, after t13, 7d
    Tuần 15 - Data Security Encryption :t15, after t14, 7d

    section Phase 4: Case Studies (Alex Xu)
    Tuần 16 - Design URL Shortener     :t16, after t15, 7d
    Tuần 17 - Design Chat System       :t17, after t16, 7d
    Tuần 18 - Design News Feed         :t18, after t17, 7d
    Tuần 19 - Design Notification Sys  :t19, after t18, 7d
    Tuần 20 - Design Key-Value Store   :t20, after t19, 7d

Phase 1: Fundamentals (Tuần 1–4)

Xây móng. Không có phần này, mọi thiết kế đều là lâu đài trên cát.

TuầnChủ đềMục tiêuBài học
01Scale from Zero to MillionsHiểu vertical vs horizontal scaling, stateless architecture, database replication & sharding overviewTuan-01-Scale-From-Zero-To-Millions
02Back-of-the-envelope EstimationThành thạo ước lượng TPS, Storage, Bandwidth, QPS — ngôn ngữ chung của System ArchitectTuan-02-Back-of-the-envelope
03Networking: DNS, CDN, TCP/UDPHiểu luồng request từ browser → server, DNS resolution, CDN caching, TLS handshakeTuan-03-Networking-DNS-CDN
04API Design: REST, gRPC, GraphQLThiết kế API có versioning, pagination, idempotency. Rate limiting ở API GatewayTuan-04-API-Design-REST-gRPC

Kỹ năng then chốt sau Phase 1:

  • Ước lượng nhanh (2 phút) TPS/Storage cho bất kỳ hệ thống nào
  • Vẽ được high-level architecture diagram cơ bản
  • Hiểu request lifecycle end-to-end

Phase 2: Components — Các viên gạch của hệ thống (Tuần 5–10)

Biết từng component hoạt động ra sao, khi nào dùng, trade-off là gì.

TuầnChủ đềMục tiêuBài học
05Load BalancerL4 vs L7, thuật toán LB, health check, sticky session, SSL terminationTuan-05-Load-Balancer
06Cache StrategyCache-aside, Write-through, Write-behind, TTL, Cache stampede, Redis clusterTuan-06-Cache-Strategy
07Database: Sharding & ReplicationMaster-Slave, Master-Master, shard key selection, cross-shard query, vitess/citusTuan-07-Database-Sharding-Replication
08Message QueueKafka vs RabbitMQ, at-least-once/exactly-once, dead letter queue, backpressureTuan-08-Message-Queue
09Rate LimiterToken bucket, Sliding window, distributed rate limiting, API Gateway integrationTuan-09-Rate-Limiter
10Consistent HashingVirtual nodes, hash ring, ứng dụng trong cache distribution, DB shardingTuan-10-Consistent-Hashing

Bonus chapters của Phase 2 (Architect-level deep dive)

Các chapter này không nằm trong sách Alex Xu nhưng là bắt buộc nếu em muốn vượt khỏi giới hạn “interview-prep” để chạm tới level Architect. Đọc sau khi đã hoàn thành Tuần 7 và 10.

#Chủ đềMục tiêuBài học
Bonus-1Consensus: Raft & PaxosHiểu sâu leader election, log replication, 5 safety properties, FLP impossibility, joint consensusTuan-Bonus-Consensus-Raft-Paxos
Bonus-2Consistency Models & Isolation LevelsLinearizability vs Sequential vs Causal, MVCC, Snapshot Isolation, SSI, JepsenTuan-Bonus-Consistency-Models-Isolation
Bonus-4CRDTs — Conflict-free Replicated Data TypesG-Counter, OR-Set, RGA, LWW-Register, Yjs/Automerge, Figma/Notion use caseTuan-Bonus-CRDTs-Conflict-Free-Data-Types
Bonus-6LLM Serving InfrastructurevLLM, PagedAttention, continuous batching, quantization, distributed servingTuan-Bonus-LLM-Serving-Infrastructure
Bonus-7Multi-Region Active-Active + Aurora DSQLGlobally distributed SQL, atomic clocks, RPO/RTO, split-brain preventionTuan-Bonus-Multi-Region-Active-Active-DSQL
Bonus-8Model Context Protocol (MCP)JSON-RPC, tools/resources/prompts, OAuth 2.1 + DPoPTuan-Bonus-MCP-Architecture
Bonus-9Edge Computing + WebAssemblyCloudflare Workers, WASI Preview 2, Component Model, Durable ObjectsTuan-Bonus-Edge-Wasm-Architecture

Kỹ năng then chốt sau Phase 2:

  • Chọn đúng component cho đúng bài toán
  • Giải thích trade-off khi lựa chọn giữa các phương án
  • Tính capacity planning cho từng component
  • (Architect) Giải thích Raft state machine + tại sao quorum phải lẻ
  • (Architect) Phân biệt linearizability vs serializability vs eventual consistency

Phase 3: Architecture + DevOps + Security (Tuần 11–15)

Thiết kế xong phải ship được. Ship xong phải giữ được. Giữ xong phải bảo vệ được.

TuầnChủ đềMục tiêuBài học
11Microservices PatternsService decomposition, Saga, Circuit Breaker, Service Mesh (Istio), API GatewayTuan-11-Microservices-Pattern
12CI/CD PipelineGitOps, Blue-Green, Canary, Feature Flag, Infrastructure as Code (Terraform)Tuan-12-CICD-Pipeline
13Monitoring & Observability3 pillars (Metrics, Logs, Traces), Prometheus/Grafana, ELK, OpenTelemetry, SLO/SLA/SLITuan-13-Monitoring-Observability
14AuthN / AuthZ & SecurityOAuth2, JWT, RBAC, ABAC, Zero Trust, OWASP Top 10, API SecurityTuan-14-AuthN-AuthZ-Security
15Data Security & EncryptionEncryption at rest/in transit, key management (Vault), PII handling, GDPR basicsTuan-15-Data-Security-Encryption

Bonus chapters của Phase 3 (Modern patterns 2024-2026)

Các pattern này là chuẩn de-facto trong hệ thống lớn 2024-2026 nhưng chưa có trong Alex Xu Vol 1+2.

#Chủ đềMục tiêuBài học
Bonus-3Outbox Pattern + Transactional MessagingĐảm bảo consistency giữa DB và message queue, CDC, Debezium, Saga choreography vs orchestrationTuan-Bonus-Outbox-Pattern
Bonus-5Modern Data Lakehouse (case study)Iceberg/Delta/Hudi, Kappa architecture, Flink streaming, Bronze-Silver-Gold patternCase-Design-Modern-Data-Lakehouse
Bonus-10Multi-Tenancy SaaS PatternsSilo/Pool/Hybrid, RLS, noisy neighbor, tenant context propagationTuan-Bonus-Multi-Tenancy-SaaS-Patterns
Bonus-11Platform Engineering & IDPBackstage, golden paths, scaffolder, Team Topologies, Score.devTuan-Bonus-Platform-Engineering-IDP
Bonus-12FinOps & Cloud Unit EconomicsFinOps framework, cost allocation, unit economics, optimizationTuan-Bonus-FinOps-Cloud-Unit-Economics
Bonus-13Progressive DeliveryArgo Rollouts, Flagger, feature flags, canary analysis, automated rollbackTuan-Bonus-Progressive-Delivery

Kỹ năng then chốt sau Phase 3:

  • Thiết kế CI/CD pipeline cho microservice từ code → production
  • Setup monitoring stack cơ bản (Prometheus + Grafana + Alertmanager)
  • Threat modeling cho một hệ thống (STRIDE)
  • (Architect) Implement Outbox + CDC để đảm bảo at-least-once delivery với DB consistency
  • (Architect) Phân biệt cell-based architecture, shuffle sharding, blast radius reduction

Phase 4: Case Studies — Theo phong cách Alex Xu (Tuần 16–20)

Tổng hợp tất cả. Mỗi case study là một buổi System Design Interview thực chiến.

TuầnChủ đềKey ComponentsBài học
16Design URL ShortenerHash function, Base62, Database choice, Rate limiting, Analytics pipelineTuan-16-Design-URL-Shortener
17Design Chat SystemWebSocket, Message queue, Presence service, E2E encryption, Push notificationTuan-17-Design-Chat-System
18Design News FeedFan-out on write vs read, Ranking, Cache layer, Content moderation, CDNTuan-18-Design-News-Feed
19Design Notification SystemMulti-channel delivery, Priority queue, Template engine, Rate limiting, AnalyticsTuan-19-Design-Notification-System
20Design Key-Value StoreConsistent hashing, Quorum, Merkle tree, Gossip protocol, Failure detectionTuan-20-Design-Key-Value-Store

Kỹ năng then chốt sau Phase 4:

  • Hoàn thành một System Design Interview trong 45 phút
  • Kết hợp nhuần nhuyễn: estimation → high-level → deep dive → trade-off → ops
  • Tự tin thảo luận về security và deployment strategy

Dependency Map giữa các tuần

graph LR
    T01[Tuần 01<br>Scale] --> T02[Tuần 02<br>Estimation]
    T01 --> T03[Tuần 03<br>Networking]
    T02 --> T04[Tuần 04<br>API Design]
    T03 --> T04
    T04 --> T05[Tuần 05<br>Load Balancer]
    T04 --> T09[Tuần 09<br>Rate Limiter]
    T05 --> T06[Tuần 06<br>Cache]
    T05 --> T07[Tuần 07<br>Database]
    T06 --> T10[Tuần 10<br>Consistent Hashing]
    T07 --> T10
    T07 --> T08[Tuần 08<br>Message Queue]
    T08 --> T11[Tuần 11<br>Microservices]
    T10 --> T11
    T11 --> T12[Tuần 12<br>CI/CD]
    T11 --> T13[Tuần 13<br>Monitoring]
    T09 --> T14[Tuần 14<br>AuthN/AuthZ]
    T13 --> T14
    T14 --> T15[Tuần 15<br>Data Security]

    T02 --> T16[Tuần 16<br>URL Shortener]
    T10 --> T20[Tuần 20<br>KV Store]
    T08 --> T17[Tuần 17<br>Chat]
    T06 --> T18[Tuần 18<br>News Feed]
    T08 --> T19[Tuần 19<br>Notification]

    style T02 fill:#f9a825,stroke:#333,stroke-width:2px
    style T16 fill:#66bb6a,stroke:#333
    style T17 fill:#66bb6a,stroke:#333
    style T18 fill:#66bb6a,stroke:#333
    style T19 fill:#66bb6a,stroke:#333
    style T20 fill:#66bb6a,stroke:#333

Cách sử dụng Vault này

Quy trình học mỗi tuần

  1. Đọc bài — Đọc file Tuan-XX.md tương ứng
  2. Làm estimation — Tự ước lượng trước khi xem đáp án
  3. Vẽ diagram — Dùng Mermaid hoặc Excalidraw
  4. Code lab — Chạy code example trong bài
  5. Viết lại — Tóm tắt bằng lời của mình vào Daily Note

Tags hệ thống

  • #system-design — Tag chung
  • #estimation — Bài tập ước lượng
  • #security — Nội dung bảo mật
  • #devops — Nội dung vận hành
  • #case-study — Bài thực hành tổng hợp
  • #trade-off — Các quyết định kiến trúc
  • #alex-xu — Pattern từ SDI

Obsidian Plugins khuyến nghị

  • Mermaid (built-in) — Render diagram
  • Dataview — Query và tổng hợp nội dung
  • Excalidraw — Vẽ diagram tự do
  • Kanban — Theo dõi tiến độ tuần
  • Templater — Template cho bài học mới

Cam kết

Hieu, hành trình từ Backend Developer đến System Architect không phải là học thêm nhiều tool. Nó là học cách nhìn toàn cảnh — từ một dòng code đến cả hệ thống phục vụ triệu người dùng. Mỗi tuần một viên gạch. 20 tuần, em sẽ có nền móng vững chắc. Let’s build.


Cập nhật lần cuối: 2026-03-18 Xem thêm: MOC-System-Design