很多后端工程师用 Dubbo 多年,却卡在“知其然不知其所以然”的阶段。面对线程池耗尽、超时配置不生效或集群故障,往往只能依赖文档试错,缺乏底层源码逻辑支撑。这门课由何辉主讲,核心解决的是“黑盒”问题:通过剖析 Dubbo 核心源码,帮你理清从服务发布、订阅、调用到协议编解码的完整链路。它不是简单的 API 调用教程,而是针对生产环境常见痛点(如日志追踪、流量控制、服务熔断)提供源码级的解释与实战方案,适合有一定 Java 基础、熟悉 Spring Boot 并正在使用或计划深入使用 Dubbo 的微服务开发者。转行者或初学者若无微服务背景,建议先补齐 RPC 概念再入门。

建议学习路径:先理流程,再攻难点

不要按顺序盲学。建议先看“01 温故知新”巩固基础概念,紧接着研读“19 发布流程”与“20 订阅流程”。这两块是 Dubbo 的心跳,只有搞懂服务是如何被注册和发现的,后续的所有扩展机制才有依附对象。在此基础上,重点攻克“21 调用流程”与“22 协议编解码”,理解数据是如何在网络中流动的。对于工作中常遇到的坑,如“11 配置加载顺序”(解释为何超时不生效)、“02 异步化实践”(解决线程池耗尽)和“23 集群扩展”(处理服务不可用),应结合自己的实际项目场景进行对照学习。最后,通过“14 SPI 机制”与“15 Wrapper 机制”理解 Dubbo 的高扩展性原理,这是区别于其他框架的关键。

学完能独立做什么,资料如何配合

学完后,你将不再只是 Dubbo 的“用户”,而是能独立诊断复杂故障的“专家”。具体而言,你能够独立编写自定义 Filter 实现统一鉴权或日志埋点,能根据业务场景合理配置集群容错策略(如 Failfast, Failover),并能利用 SPI 机制扩展注册中心或协议。你还能通过修改协议编解码逻辑,优化特定场景下的网络传输性能。资料包中的 MP3 音频适合通勤时磨耳朵,建立整体框架感;对应的 PDF 文档则包含详细的源码截图、流程图与代码注释,是案头查阅的核心工具。建议采用“听音频建立概念-看 PDF 源码验证-本地代码复现”的三步法练习。例如,学习“04 泛化调用”时,不要只看文档,务必在本地项目中尝试搭建一个通用的泛化调用入口,通过动手实践理解接口隔离的本质。遇到“17 Adaptive 适配”这类难点时,可反复对照 PDF 中的编译原理说明,直到能手写简单的 Adaptive 类为止。这种源码与实战的结合,能让你将 Dubbo 的知识迁移到其他微服务框架中,提升整体架构视野。

课程目录

📁 MP3 19|发布流程:带你一窥服务发布的三个重要环节.mp3 [16.3 MB] 12|源码框架:框架在源码层面如何体现分层?【不易整理‖请关注:CunWorkNoteS】.mp3 [12.9 MB] 22|协议编解码:接口调用的数据是如何发到网络中的?.mp3 [12.0 MB] 加餐|中小厂高频面试:基础式的CRUD属性你清楚么?【持续更新‖免费提供:CunworknoteS】.mp3 [3.8 MB] 15|Wrapper机制:Wrapper是怎么降低调用开销的?.mp3 [11.3 MB] 01|温故知新:Dubbo基础知识你掌握得如何?【更多精选‖公众号:CunWorknotes】 .mp3 [15.8 MB] 27|协议扩展:如何快速控制应用的上下线?.mp3 [9.7 MB] 24|拦截扩展:如何利用Filter进行扩展?【持续更新‖免费提供:CunworknoteS】.mp3 [13.3 MB] 结束语|愿你能将Dubbo所学迁移至其他微服务框架.mp3 [6.4 MB] 03|隐式传递:如何精准找出一次请求的全部日志?.mp3 [13.5 MB] 10|服务认证:被异构系统侵入调用了,怎么办?.mp3 [13.7 MB] 11|配置加载顺序:为什么你设置的超时时间不生效?.mp3 [14.5 MB] 06|事件通知:一招打败各种神乎其神的回调事件.mp3 [16.4 MB] 04|泛化调用:三步教你搭建通用的泛化调用框架.mp3 [16.8 MB] 14|SPI 机制:Dubbo的SPI比JDK的SPI好在哪里?.mp3 [12.6 MB] 开篇词|带你玩转Dubbo微服务框架.mp3 [6.3 MB] 23|集群扩展:发送请求遇到服务不可用,怎么办?.mp3 [16.4 MB] 加餐|大厂高频面试:底层的源码逻辑知多少?.mp3 [3.8 MB] 13|集成框架:框架如何与Spring有机结合?.mp3 [18.8 MB] 18|实例注入:实例注入机制居然可以如此简单?.mp3 [14.7 MB] 17|Adaptive适配:Dubbo的Adaptive特殊在哪里?.mp3 [12.4 MB] 16|Compiler编译:神乎其神的编译你是否有过胆怯?.mp3 [12.0 MB] 02|异步化实践:莫名其妙出现线程池耗尽怎么办?.mp3 [16.4 MB] 26|线程池扩展:如何选择Dubbo线程池?.mp3 [14.7 MB] 25|注册扩展:如何统一添加注册信息?.mp3 [15.0 MB] 08|缓存操作:如何为接口优雅地提供缓存功能?.mp3 [19.0 MB] 20|订阅流程:消费方是怎么知道提供方地址信息的?.mp3 [13.5 MB] 07|参数验证:写个参数校验居然也会被训?.mp3 [14.9 MB] 21|调用流程:消费方的调用流程体系,你知道多少?.mp3 [16.6 MB] 特别放送|Dubbo基础特性:视频带学,助你巩固基础.mp3 [1.2 MB] 05|点点直连:点对点搭建产线“后门”的万能管控.mp3 [15.9 MB] 09|流量控制:控制接口调用请求流量的三个秘诀.mp3 [15.0 MB] 加餐|大厂高频面试:底层的源码逻辑知多少?.pdf
 [9.3 MB] 期末测试|来赴一场满分之约!.pdf
 [901.7 KB] 27|协议扩展:如何快速控制应用的上下线?【公重号:CunWorkNotes】.pdf
 [2.9 MB] 21|调用流程:消费方的调用流程体系,你知道多少?【持续更新‖免费提供:CunworknoteS】.pdf
 [28.1 MB] 25|注册扩展:如何统一添加注册信息?.pdf
 [10.2 MB] 19|发布流程:带你一窥服务发布的三个重要环节【更多精选‖公众号:CunWorknotes】 .pdf
 [17.0 MB] 09|流量控制:控制接口调用请求流量的三个秘诀【更多精选‖公众号:CunWorknotes】 .pdf
 [2.8 MB] 加餐|中小厂高频面试:基础式的CRUD属性你清楚么?.pdf
 [4.4 MB] 17|Adaptive适配:Dubbo的Adaptive特殊在哪里?【不易整理‖请关注:CunWorkNoteS】.pdf
 [5.7 MB] 08|缓存操作:如何为接口优雅地提供缓存功能?.pdf
 [5.1 MB] 开篇词|带你玩转Dubbo微服务框架【优质资源‖关注:cunWorkNotes 解锁】.pdf
 [3.0 MB] 10|服务认证:被异构系统侵入调用了,怎么办?【优质资源‖关注:cunWorkNotes 解锁】.pdf
 [3.6 MB] 01|温故知新:Dubbo基础知识你掌握得如何?.pdf
 [8.4 MB] 16|Compiler编译:神乎其神的编译你是否有过胆怯?.pdf
 [3.8 MB] 特别放送|Dubbo基础特性:视频带学,助你巩固基础.pdf
 [3.8 MB] 15|Wrapper机制:Wrapper是怎么降低调用开销的?.pdf
 [5.2 MB] 23|集群扩展:发送请求遇到服务不可用,怎么办?.pdf
 [2.7 MB] 14|SPI 机制:Dubbo的SPI比JDK的SPI好在哪里?.pdf
 [3.7 MB] 26|线程池扩展:如何选择Dubbo线程池?.pdf
 [4.2 MB] 18|实例注入:实例注入机制居然可以如此简单?.pdf
 [16.5 MB] 12|源码框架:框架在源码层面如何体现分层?.pdf
 [13.2 MB] 24|拦截扩展:如何利用Filter进行扩展?.pdf
 [4.5 MB] 13|集成框架:框架如何与Spring有机结合?.pdf
 [4.6 MB] 11|配置加载顺序:为什么你设置的超时时间不生效?.pdf
 [24.1 MB] 02|异步化实践:莫名其妙出现线程池耗尽怎么办?.pdf
 [5.0 MB] 03|隐式传递:如何精准找出一次请求的全部日志?.pdf
 [3.5 MB] 07|参数验证:写个参数校验居然也会被训?.pdf
 [2.7 MB] 04|泛化调用:三步教你搭建通用的泛化调用框架.pdf
 [4.2 MB] 05|点点直连:点对点搭建产线“后门”的万能管控.pdf
 [3.9 MB] 22|协议编解码:接口调用的数据是如何发到网络中的?.pdf
 [4.4 MB] 06|事件通知:一招打败各种神乎其神的回调事件.pdf
 [3.8 MB] 20|订阅流程:消费方是怎么知道提供方地址信息的?.pdf
 [18.0 MB] 结束语|愿你能将Dubbo所学迁移至其他微服务框架.pdf
 [1.2 MB]