Chia Sẻ Khóa Học Real-Time Backend Scalable Với WebSockets (2025) [Khóa 5816 A]
Tìm hiểu WebSockets internals nâng cao để xây dựng các bidirectional gaming và chatting backend theo thời gian thực dễ mở rộng.
Những gì bạn sẽ học được:
- ✓ System Design cho Real-Time backend scaling.
- ✓ Internals của WebSockets.
- ✓ Cách WebSockets hoạt động.
- ✓ WebSockets trên Secure TLS.
- ✓ Scaling WebSockets với Layer 4 Proxying.
- ✓ Scaling WebSockets với Layer 7 Proxying.
- ✓ WebSockets trên HTTP/2 và HTTP/3.
- ✓ Xây dựng một Real-time Group Chatting App (IO Intensive).
- ✓ Xây dựng một Real-time Game App (CPU Intensive).
Việc thiết kế các backend hiệu quả và có khả năng mở rộng là một hoạt động thiết kế vô cùng thú vị. Hiểu được các frontend workflow, thiết kế các API, lựa chọn các giao thức vàdatabase phù hợp cho tác vụ, và xác định các communication pattern, cho dù workload đòi hỏi nhiều CPU hay I/O, đều là một phần của niềm vui.
Tuy nhiên, thách thức thực sự lớn hơn là thiết kế các ứng dụng back-end thời gian thực hỗ trợ giao tiếp hai chiều tự do và tùy biến. Các workload của gaming, chatting, và thậm chí cả các ứng dụng thời gian thực quan trọng đều đặc thù ở chỗ chúng đòi hỏi tính chất "push" để hoạt động hiệu quả.
Tôi đã dành vài tháng để thiết kế khóa học này, và tôi đã chọn giao thức WebSockets làm nền tảng cho công việc này. WebSockets cho đến nay là giao thức hai chiều phổ biến nhất, được hỗ trợ trên tất cả các client, từ browser và ứng dụng dòng lệnh đến các runtime như Node và Bun, và thậm chí cả các ngôn ngữ khác như C và Go.
Mặc dù đã có giao thức WebTransport mới hơn, nhưng nó vẫn chưa được hỗ trợ rộng rãi hoặc thử nghiệm thực tế như WebSockets. Có lẽ tôi sẽ làm mới khóa học này sau vài năm nữa khi WebTransport hoàn thiện hơn.
Khóa học này được chia thành ba phần chính:
- ✓ 1. WebSockets Internals - Tìm hiểu sâu về hoạt động bên trong của giao thức: cơ chế handshake, keepalive, frame header và cách thức hoạt động của nó trên TLS. Chúng ta cũng sẽ thảo luận về các hạn chế, vì tôi tin rằng việc hiểu rõ các hạn chế sẽ giúp chúng ta xây dựng các ứng dụng tốt hơn. Mỗi bài giảng sẽ bao gồm một phần coding và một quiz ở cuối phần.
- ✓ 2. Scaling WebSockets - Nâng cao kiến thức về WebSocket của bạn: cách scale giao thức này trên HTTP/1.1, HTTP/2 và HTTP/3. Chúng tôi sẽ đề cập đến việc triển khai proxy ở cả stream mode (Layer 4) và application mode (Layer 7), cùng với ưu và nhược điểm của chúng. Mỗi bài giảng sẽ bao gồm một phần coding và một quiz ở cuối phần.
- ✓ 3. Xây dựng Real-Time System Design - Áp dụng mọi thứ vào thực tế bằng cách thiết kế hai hệ thống: một I/O-intensive chat system và một CPU-intensive game. Tôi sẽ đề xuất nhiều thiết kế cho mỗi hệ thống và chọn một để triển khai.
Điều kiện tiên quyết: Nền tảng về Backend Engineering.
Tôi hy vọng bạn thích khóa học này.
Mục lục:
- ✓ 1. Giới thiệu.
- ✓ 2. Nền tảng về Web Communication.
- ✓ 3. WebSockets Internals.
- ✓ 4. Scaling WebSockets Backend.
- ✓ 5. Real-Time System - Xây dựng Scalable IO Intensive Chatting Backend.
- ✓ 6. Real-World System - Scalable CPU Intensive Gaming Backend.
- ✓ 7. Kết luận.
Khóa học này dành cho ai:
- ✓ Backend Engineer trung cấp muốn xây dựng các backend có khả năng mở rộng.
NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU