Tất cả khóa học
SYSD 101Miễn phí

System Design 101: Nền móng

Dựng hệ thống cho một app giao đồ ăn do chính bạn đặt tên: tính nhẩm tải, cho traffic chạy qua sơ đồ, xem hệ thống sập ở đâu rồi sửa trong ngân sách. Từ vài quán quen đến ngày khai trương. Không cần biết lập trình trước.

  • Cơ bản
  • Khoảng 8 đến 10 giờ
  • 8 chương
  • 44 bài học
Bắt đầu học

Đăng nhập bằng Google hoặc GitHub, khóa học sẽ mở trong Học viện bằng chính tài khoản đó.

Nội dung khóa học

  1. Chương 1

    Mở đầu

    • Bạn đang ở đâu?

      Kiểm tra · 10 phút

    • Khoá học này học gì, học thế nào

      Bài học · 6 phút

    • Đặt tên cho app của bạn

      Bài học · 2 phút

  2. Chương 2

    Một đơn hàng đi đâu? (request, server, database)

    • Từ lúc bấm "Đặt món" đến khi quán nhận đơn

      Bài học · 10 phút

    • Mỗi thành phần làm một việc

      Bài học · 8 phút

    • Nhanh cỡ nào là nhanh?

      Bài học · 8 phút

    • Đo một hệ thống bằng gì

      Bài học · 10 phút

    • Đơn đầu tiên chạy qua hệ thống

      Luyện tập · 10 phút

    • Nhìn lại chương 1

      Bài học · 5 phút

  3. Chương 3

    Tính nhẩm trước khi bấm Chạy (ước lượng)

    • Từ số người dùng đến số request mỗi giây

      Bài học · 8 phút

    • Xem menu một lần là đọc database mấy lần?

      Bài học · 8 phút

    • Sức chứa và độ tải

      Bài học · 8 phút

    • Hoá đơn cuối tháng

      Bài học · 8 phút

    • Mở app cho nhóm bạn

      Luyện tập · 25 phút

    • Nhìn lại chương 2

      Bài học · 5 phút

  4. Chương 4

    Một máy không còn đủ (scale out, load balancer)

    • Máy to hơn hay thêm máy?

      Bài học · 8 phút

    • Ai chia khách cho các máy?

      Bài học · 8 phút

    • Càng đông càng chậm, nhưng không đều

      Bài học · 8 phút

    • Một máy tắt ngúm giữa giờ trưa

      Bài học · 8 phút

    • Đừng để mọi máy chung một chỗ

      Bài học · 8 phút

    • Giờ trưa đầu tiên

      Luyện tập · 30 phút

    • Nhìn lại chương 3

      Bài học · 5 phút

  5. Chương 5

    Đừng hỏi database mãi một câu (cache, CDN)

    • Ai cũng xem cùng một menu

      Bài học · 8 phút

    • Cache vừa khởi động lại

      Bài học · 8 phút

    • Mở lại app, món đã chọn không còn

      Bài học · 6 phút

    • Ảnh món ăn nặng hơn cả trang

      Bài học · 8 phút

    • Menu mùa lễ

      Luyện tập · 30 phút

    • Nhìn lại chương 4

      Bài học · 5 phút

  6. Chương 6

    Database cũng có giới hạn (Little's law, replica)

    • Database chậm, cả app đứng hình

      Bài học · 10 phút

    • Tìm một đơn giữa một triệu đơn

      Bài học · 6 phút

    • Đọc thì nhiều, ghi thì ít

      Bài học · 8 phút

    • Đơn đã đặt chưa hiện trong lịch sử

      Bài học · 6 phút

    • Một đêm mất sạch dữ liệu

      Bài học · 6 phút

    • Quán đông đơn

      Luyện tập · 30 phút

    • Nhìn lại chương 5

      Bài học · 5 phút

  7. Chương 7

    Việc gì không cần chờ thì để sau (queue, worker)

    • Nút "Đặt món" quay mãi vì đang gửi email

      Bài học · 10 phút

    • Hàng đợi bao lâu thì hết?

      Bài học · 8 phút

    • Dịch vụ gửi tin nhắn bỗng chậm

      Bài học · 6 phút

    • Gửi lại có thành gửi hai lần?

      Bài học · 6 phút

    • Thông báo đơn hàng

      Luyện tập · 30 phút

    • Nhìn lại chương 6

      Bài học · 5 phút

  8. Chương 8

    Cột mốc: Ngày khai trương

    • Lên kế hoạch trước khi dựng

      Bài học · 10 phút

    • Trụ vững ngày khai trương

      Luyện tập · 40 phút

    • Những gì bạn đã có trong tay

      Bài học · 8 phút

    • Bạn đã đi được bao xa?

      Kiểm tra · 10 phút

    • Lần sau bạn sẽ làm gì trước tiên?

      Bài học · 5 phút