分布式通信难题,这门课值不值得学

日常做后端开发,一旦业务规模上来,服务拆分后跨进程调用就成了绕不开的环节。很多人平时用 Dubbo 或 gRPC,基本停留在配置注册中心、改改注解、能连通就万事大吉的程度。真遇到线上接口莫名超时、长连接池耗尽、协议字段不兼容要紧急加塞,往往只能靠搜文档甚至盲猜。这门课解决的就是“只会用框架、不懂底层运转机制”的问题。它不讲怎么背 API,而是把一次远程调用从序列化、协议封装、网络传输到服务发现的全链路拆开揉碎讲清楚。如果你正头疼微服务间通信的稳定性,或者想从纯业务开发往基础架构方向靠,这个主题很值得花时间琢磨。

适合什么基础,建议先看哪几块

资料里的内容默认你已经熟练掌握 Java 并发与网络编程基础,至少自己跑过 Spring Boot 项目,知道什么是 TCP 三次握手。如果连 Socket 编程都没概念,建议先补点网络基础再来看。拿到资料后,不要按顺序从头硬啃。建议先直奔“核心原理”那块,对照着图解把整个 RPC 通信流程在脑子里走一遍,建立全局观。接着重点看“协议”与“序列化”两节,这两块是理解框架怎么向后兼容、对象怎么在网络里安全传输的关键。把这几个硬骨头啃下来,再看网络通信和服务治理相关的内容,吸收会顺畅很多。

怎么配合练习,学完能独立做什么

资料包里主要是图文和音频,纯看纯听很容易过目即忘。务实的学习法是边看边对照着开源框架源码去印证。比如看到协议设计那节,直接去翻 Dubbo 的报文结构,对比着看课程里讲的扩展位是怎么落地的。看序列化时,自己写两个简单的 Java 对象,用 Protobuf 和 JSON 分别跑一遍,体会空间和性能差异。学完这套资料,你应该能独立画出一套完整的 RPC 通信架构图,说清楚从请求发起、代理拦截、序列化编码到网络发送的每一步细节。再遇到线上通信层面的疑难杂症,能顺着自己学的链路去定位排查,而不是一遇到超时就只会无脑调大线程池。


高效解决分布式系统的通信难题

课程目录

*   01 开篇词/

  *   01 开篇词 别老想着怎么用好RPC框架,你得多花时间琢磨原理.html (0.82 MB)

  *   01 开篇词 别老想着怎么用好RPC框架,你得多花时间琢磨原理.mp3 (5.81 MB)

*   02 基础篇/

  *   01 01 核心原理:能否画张图解释下RPC的通信流程.html (0.83 MB)

  *   01 01 核心原理:能否画张图解释下RPC的通信流程.mp3 (11.08 MB)

  *   02 02 协议:怎么设计可扩展且向后兼容的协议.html (0.97 MB)

  *   02 02 协议:怎么设计可扩展且向后兼容的协议.mp3 (9.92 MB)

  *   03 03 序列化:对象怎么在网络中传输.html (2.04 MB)

  *   03 03 序列化:对象怎么在网络中传输.mp3 (11.50 MB)

  *   04 04 网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型.html (1.39 MB)

  *   04 04 网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型.mp3 (9.36 MB)

  *   05 05 动态代理:面向接口编程,屏蔽RPC处理流程.html (1.35 MB)

  *   05 05 动态代理:面向接口编程,屏蔽RPC处理流程.mp3 (7.37 MB)

  *   06 06 RPC实战:剖析gRPC源码,动手实现一个完整的RPC.html (2.13 MB)

  *   06 06 RPC实战:剖析gRPC源码,动手实现一个完整的RPC.mp3 (10.30 MB)

*   03 进阶篇/

  *   01 07 架构设计:设计一个灵活的RPC框架.html (1.06 MB)

  *   01 07 架构设计:设计一个灵活的RPC框架.mp3 (9.29 MB)

  *   02 08 服务发现:到底是要CP还是AP.html (2.54 MB)

  *   02 08 服务发现:到底是要CP还是AP.mp3 (10.84 MB)

  *   03 09 健康检测:这个节点都挂了,为啥还要疯狂发请求.html (1.26 MB)

  *   03 09 健康检测:这个节点都挂了,为啥还要疯狂发请求.mp3 (12.00 MB)

  *   04 10 路由策略:怎么让请求按照设定的规则发到不同的节点上.html (1.12 MB)

  *   04 10 路由策略:怎么让请求按照设定的规则发到不同的节点上.mp3 (8.47 MB)

  *   05 11 负载均衡:节点负载差距这么大,为什么收到的流量还一样.html (1.95 MB)

  *   05 11 负载均衡:节点负载差距这么大,为什么收到的流量还一样.mp3 (10.41 MB)

  *   06 12 异常重试:在约定时间内安全可靠地重试.html (1.39 MB)

  *   06 12 异常重试:在约定时间内安全可靠地重试.mp3 (8.58 MB)

  *   07 13 优雅关闭:如何避免服务停机带来的业务损失.html (2.02 MB)

  *   07 13 优雅关闭:如何避免服务停机带来的业务损失.mp3 (8.82 MB)

  *   08 14 优雅启动:如何避免流量打到没有启动完成的节点.html (1.18 MB)

  *   08 14 优雅启动:如何避免流量打到没有启动完成的节点.mp3 (9.76 MB)

  *   09 15 熔断限流:业务如何实现自我保护.html (2.39 MB)

  *   09 15 熔断限流:业务如何实现自我保护.mp3 (10.95 MB)

  *   10 16 业务分组:如何隔离流量.html (1.26 MB)

  *   10 16 业务分组:如何隔离流量.mp3 (8.63 MB)

  *   11 答疑课堂 基础篇与进阶篇思考题答案合集.html (0.72 MB)

  *   11 答疑课堂 基础篇与进阶篇思考题答案合集.mp3 (8.00 MB)

*   04 高级篇/

  *   01 17 异步RPC:压榨单机吞吐量.html (1.03 MB)

  *   01 17 异步RPC:压榨单机吞吐量.mp3 (12.85 MB)

  *   02 18 安全体系:如何建立可靠的安全体系.html (1.34 MB)

  *   02 18 安全体系:如何建立可靠的安全体系.mp3 (10.21 MB)

  *   03 19 分布式环境下如何快速定位问题.html (1.76 MB)

  *   03 19 分布式环境下如何快速定位问题.mp3 (10.87 MB)

  *   04 20 详解时钟轮在RPC中的应用.html (1.84 MB)

  *   04 20 详解时钟轮在RPC中的应用.mp3 (10.19 MB)

  *   05 21 流量回放:保障业务技术升级的神器.html (1.18 MB)

  *   05 21 流量回放:保障业务技术升级的神器.mp3 (7.23 MB)

  *   06 22 动态分组:超高效实现秒级扩缩容.html (0.78 MB)

  *   06 22 动态分组:超高效实现秒级扩缩容.mp3 (8.45 MB)

  *   07 23 如何在没有接口的情况下进行RPC调用.html (1.29 MB)

  *   07 23 如何在没有接口的情况下进行RPC调用.mp3 (7.64 MB)

  *   08 24 如何在线上环境里兼容多种RPC协议.html (1.50 MB)

  *   08 24 如何在线上环境里兼容多种RPC协议.mp3 (7.91 MB)

*   05 结束语/

  *   01 结束语 学会从优秀项目的源代码中挖掘知识.html (0.52 MB)

  *   01 结束语 学会从优秀项目的源代码中挖掘知识.mp3 (4.14 MB)

*   06 加餐/

  *   01 加餐 谈谈我所经历过的RPC.html (0.40 MB)

  *   01 加餐 谈谈我所经历过的RPC.mp3 (8.26 MB)

  *   02 加餐 RPC框架代码实例详解.html (3.27 MB)

  *   02 加餐 RPC框架代码实例详解.mp3 (16.78 MB)