Tin mới nhất

Menu

Browsing "Older Posts"

Chia Sẻ Khóa Học Fundamentals Of Backend Engineering [Khóa 7513 A]

15 tháng 2 2023 / No Comments

Tìm hiểu backend communication design pattern, protocol, execution và proxying.

Bạn sẽ học được gì:

  • ✓ Tìm hiểu các fundamental của backend engineering.
  • ✓ Các Backend communication design pattern.
  • ✓ Hiểu cách hoạt động của các backend communication protocol.
  • ✓ Hiểu cách OS Kernel giao tiếp với các ứng dụng Backend.
  • ✓ Operating System fundamentals (Thread, Process, async IO trong linux).
  • ✓ Tìm hiểu HTTP/1.1, HTTP/2, HTTP/3.
  • ✓ Tìm hiểu gRPC, WebRTC, WebSockets.
  • ✓ Tìm hiểu TLS 1.2, TLS 1.3, QUIC 0RTT.

Backend engineering là một nghệ thuật. Trong suốt 18 năm sự nghiệp làm việc và xây dựng các ứng dụng backend, tôi phát hiện ra rằng các communication design pattern liên tục xuất hiện. Chỉ có một số cách client giao tiếp với các ứng dụng backend, mặc dù chúng có thể nhiều hơn, nhưng tôi tin rằng các pattern mà tôi thảo luận trong khóa học này là phổ biến nhất. Ví dụ về các pattern này là request-response, publish-subscribe, short và long và push.

Dựa trên các communication design pattern này, các kỹ sư có thể sử dụng một số giao thức để giao tiếp cụ thể. Mặc dù các transport vehicle cốt lõi bị giới hạn ở TCP hoặc UDP, nhưng có rất nhiều giao thức dành riêng cho ngành được xây dựng dựa trên hai giao thức này để giải quyết các vấn đề và trường hợp sử dụng nhất định. Ví dụ về các giao thức cấp cao này là HTTP/1.1, HTTP/2, HTTP/3, gRPC, WebRTC và nhiều giao thức khác. Các giao thức transport khác như QUIC được xây dựng dựa trên UDP để đưa HTTP/2 streaming xuống cấp transport. Mỗi giao thức đều có ưu và nhược điểm và phù hợp với các trường hợp sử dụng nhất định. Trong khóa học, tôi thảo luận về các giao thức phổ biến hàng đầu và cung cấp các ví dụ và demo nếu có.

Trước khi client có thể gửi yêu cầu, nó phải thiết lập kết nối với backend. Hiểu cách kết nối được thiết lập và phần nào của quá trình thiết lập kết nối được thực hiện tại kernel và phần nào được thực hiện tại quy trình ứng dụng backend là rất quan trọng. Cách kết nối sau đó được ứng dụng backend chấp nhận và cách ứng dụng có thể chấp nhận kết nối nhanh nhất có thể để kernel queue không bị đầy nếu không client không thể kết nối được nữa.

Sau khi kết nối được thiết lập, client sẽ gửi request, nhưng điều gì xảy ra chính xác trong ứng dụng backend để đọc request? Chính xác thì request là gì? Hiểu được cost of parsing một request dựa trên giao thức giúp kỹ sư đánh giá cao công việc đã hoàn thành và trang bị cho họ các công cụ tốt hơn để khắc phục sự cố hoặc lỗi về hiệu suất.

Khi request đến phần phụ trợ, ứng dụng phải thực hiện request. Backend có nhiều lựa chọn thiết kế khi nói đến phong cách thực thi mà nó có thể chọn. Hiểu được sự khác biệt giữa một process và một thread, multi-process, multi-threaded và mối tương quan với số lượng lõi CPU hoặc hardware thread là rất quan trọng để chọn mẫu thực thi phù hợp. Người ta không nhất thiết phải gắn bó với những pattern này mà có thể phát minh ra những pattern mới phù hợp với nhu cầu của họ.

Khóa học này được thiết kế cho các kỹ sư đã xây dựng các ứng dụng backend, đây là khóa học ở trình độ trung cấp - nâng cao, yêu cầu một số kiến ​​thức về lập trình và mạng nhất định, vì vậy tôi khuyên bạn nên tham gia khóa học fundamentals of network engineering trước khi tham gia khóa học này nếu bạn không có kiến ​​thức về kỹ năng networking. Tôi hy vọng bạn thích khóa học này, và cảm ơn bạn rất nhiều vì đã xem xét nó.

Mục lục:

  • ✓ 1. Giới thiệu.
  • ✓ 2 - Backend Communication Design Pattern.
  • ✓ 3 - Protocol.
  • ✓ 4 - HTTPS.
  • ✓ 5 - Backend Execution Patterns.
  • ✓ 6 - Proxying và Load Balancing.
  • ✓ 7 - Cách ChatGPT sử dụng Server Sent Events.

Khóa học này dành cho ai:

  • ✓ Backend Engineer.
  • ✓ FullStack Engineer.
  • ✓ Frontend Engineer quan tâm đến Backend (đã xây dựng ứng dụng backend).
  • ✓ Các Network engineer muốn cải thiện thiết kế backend tốt hơn.
  • ✓ Site reliability engineer.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.