后端工程基础

了解后端通信设计模式、协议、执行和代理

课程英文名:Fundamentals of Backend Communications and Protocols

此视频教程共12.8GB,中英双语字幕,画质清晰无水印,源码附件全

课程地址:https://xueshu.fun/1476
演示地址:https://www.udemy.com/course/fundamentals-of-backend-communications-and-protocols/

课程内容

你会学到什么

  • 了解后端工程的基础知识
  • 后端通信设计模式
  • 了解后端通信协议的工作原理
  • 理解操作系统内核如何与后端应用程序通信
  • 操作系统基础知识(Linux 中的线程、进程、异步 IO)
  • 学习 HTTP/1.1、HTTP/2、HTTP/3
  • 学习 gRPC、WebRTC、WebSockets
  • 学习 TLS 1.2、TLS 1.3、QUIC 0RTT

本课程包括:

  • 15.5 小时点播视频
  • 1 篇文章
  • 12 个可下载资源
  • 终身访问
  • 在手机和电视上访问

要求

  • 中级编程技能(1-2 年)
  • 构建了后端应用程序
  • 基本网络基础

描述

后端工程是一门艺术。在我从事和构建后端应用程序的 18 年职业生涯中,我发现某些通信设计模式不断涌现。客户端与后端应用程序通信的方式只有少数几种,尽管它们可能更多,但我相信我在本课程中讨论的模式是最常见的。这些模式的示例包括请求-响应、发布-订阅、短期和长期以及推送。

基于这些通信设计模式,工程师可能会使用多种协议来进行具体的通信。虽然核心传输工具仅限于 TCP 或 UDP,但在这两者之上构建了大量行业特定协​​议,以解决某些问题和用例。这些高级协议的示例有 HTTP/1.1、HTTP/2、HTTP/3、gRPC、WebRTC 等等。其他传输协议(如 QUIC)构建在 UDP 之上,以在传输级别降低 HTTP/2 流。每个协议都有其优点和缺点,并适合特定的用例。在本课程中,我将讨论最常见的协议,并在适用的情况下提供示例和演示。

在客户端可以发送请求之前,它必须建立到后端的连接。了解连接是如何建立的,连接建立的哪些部分在内核中完成,哪些部分在后端应用程序进程中完成是至关重要的。后端应用程序如何接受连接,以及它如何尽快接受连接,以便内核队列不会变满,否则客户端将无法再连接。

建立连接后,客户端发送请求,但在后端应用程序读取请求时究竟发生了什么?究竟什么是请求?了解基于协议解析请求的成本会使工程师对所做的工作表示赞赏,并为她配备更好的工具来解决性能问题或错误。

一旦请求到达后端,应用程序必须执行该请求。当涉及到它可以选择的执行风格时,后端有多种设计选择。了解进程与线程、多进程、多线程之间的区别以及与 CPU 内核或硬件线程数量的相关性对于选择正确的执行模式至关重要。人们不必坚持这些模式,而是可以发明适合他们需要的新模式。

本课程专为构建后端应用程序的工程师设计,它是一门中级-高级课程,需要一定的编程和网络知识,因此如果您没有网络知识,我建议您在学习本课程之前先学习我的网络工程基础课程技能。我希望你喜欢这门课程,非常感谢你考虑它。

本课程适合谁:

  • 后端工程师
  • 全栈工程师
  • 对后端感兴趣的前端工程师(必须构建了后端应用程序)
  • 希望在后端设计方面做得更好的网络工程师
  • 站点可靠性工程师