Skip to content

Case Studies — Thiết kế hệ thống thực tế

Khi Twitter phải deliver 1 tweet của Elon Musk đến 150 triệu followers trong vài giây, đó không còn là bài toán "gửi tin nhắn" nữa — đó là bài toán fan-out với write amplification hàng tỷ operations. Khi YouTube phải transcode một video 4K thành 6 resolution khác nhau rồi phân phối qua hàng nghìn CDN edge servers trên toàn cầu, đó là pipeline engineering ở quy mô không tưởng.

Mỗi hệ thống tỷ người dùng đều bắt đầu từ một bài toán tưởng chừng đơn giản: gửi tin nhắn, phát video, gọi xe, nhắn tin. Nhưng khi scale lên hàng trăm triệu DAU, mọi quyết định kiến trúc đều trở thành trade-off giữa consistency, availability, latency và cost.

Bốn case studies trong section này được chọn lọc vì chúng cover toàn bộ các pattern cốt lõi mà bạn sẽ gặp trong system design interviews lẫn production systems thực tế — từ fan-out strategies, video processing pipelines, geospatial indexing, cho đến end-to-end encrypted messaging.

Lộ trình học

Thứ tự các case studies được sắp xếp có chủ đích. Twitter đi đầu vì fan-out là pattern nền tảng nhất — hiểu được write vs read fan-out sẽ mở khóa tư duy cho mọi hệ thống phân tán. YouTube tiếp theo vì mở rộng sang storage pipeline và CDN distribution. Uber nâng cấp lên real-time geospatial matching — kết hợp location indexing với low-latency dispatch. WhatsApp kết thúc lộ trình với bài toán messaging at scale kèm end-to-end encryption, đòi hỏi tổng hợp mọi kiến thức trước đó.

Nội dung

Design Twitter

300M DAU — Fan-out patterns at scale

Bài toán cốt lõi: khi một celebrity có 150M followers đăng tweet, hệ thống fan-out on write sẽ tạo ra 150M write operations. Fan-out on read thì giảm write nhưng tăng read latency. Twitter giải quyết bằng hybrid approach — và đó chính là bài học kiến trúc đắt giá nhất trong section này.

  • Scale: 300M DAU, 600M tweets/day, ~7,000 tweets/sec
  • Core challenge: Fan-out on Write vs Fan-out on Read — Celebrity Problem
  • Patterns: Timeline generation, cache invalidation, hybrid fan-out

Design YouTube

2B MAU — Video processing pipeline và CDN architecture

Mỗi phút có 500 giờ video được upload lên YouTube. Mỗi video cần transcode sang nhiều resolution, phân phối qua hàng nghìn CDN edge nodes, và stream adaptive bitrate đến hàng triệu viewers đồng thời. Đây là bài toán storage và bandwidth ở quy mô khổng lồ.

  • Scale: 2B MAU, 500 hours uploaded/minute, 1B hours watched/day
  • Core challenge: Video transcoding pipeline, global CDN distribution
  • Patterns: Adaptive Bitrate Streaming (HLS/DASH), DAG-based processing

Design Uber

100M MAU — Geospatial matching và real-time dispatch

Uber xử lý 8 triệu location updates mỗi giây. Mỗi khi rider mở app, hệ thống phải tìm driver gần nhất trong bán kính vài km, tính ETA chính xác, và dispatch trong vài giây. Geospatial indexing với S2 Geometry cells biến bài toán O(n) thành O(1) lookup.

  • Scale: 100M MAU, 15M trips/day, 8M location updates/sec
  • Core challenge: Geospatial indexing, real-time driver matching
  • Patterns: S2 Geometry cells, consistent hashing, supply-demand pricing

Design WhatsApp

2B MAU — Messaging at scale với end-to-end encryption

100 tỷ messages mỗi ngày, mỗi message được mã hóa end-to-end bằng Signal Protocol sao cho ngay cả WhatsApp cũng không đọc được nội dung. Bài toán kết hợp persistent WebSocket connections, message delivery guarantees, và cryptographic key management ở quy mô toàn cầu.

  • Scale: 2B MAU, 100B messages/day, millions of concurrent connections
  • Core challenge: Persistent connections, message delivery, E2E encryption
  • Patterns: Signal Protocol, message queuing, connection gateway servers