后端工程基础
了解后端通信设计模式、协议、执行和代理
课程英文名: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 内核或硬件线程数量的相关性对于选择正确的执行模式至关重要。人们不必坚持这些模式,而是可以发明适合他们需要的新模式。
本课程专为构建后端应用程序的工程师设计,它是一门中级-高级课程,需要一定的编程和网络知识,因此如果您没有网络知识,我建议您在学习本课程之前先学习我的网络工程基础课程技能。我希望你喜欢这门课程,非常感谢你考虑它。
本课程适合谁:
- 后端工程师
- 全栈工程师
- 对后端感兴趣的前端工程师(必须构建了后端应用程序)
- 希望在后端设计方面做得更好的网络工程师
- 站点可靠性工程师