Netty 网络编程与 RPC 框架实战
很多 Java 开发者在处理高并发请求时,往往只停留在使用现成的 Web 框架,却不知道底层是如何通过 NIO 实现非阻塞通信的。本课程专门针对这部分能力缺口,从 Netty 核心源码出发,带你从零手写一个 RPC 框架。适合有一定 Java 基础,想深入理解网络编程原理,或正在准备架构师/高级开发面试的技术人员。建议先重点观看 IO 模型对比和 Reactor 多线程模式部分,理解事件驱动机制后再进入实战。
从原理到源码的完整闭环
课程不仅讲解阻塞 IO、多路复用和异步 IO 的区别,更深入到 Netty 的架构设计与编解码流程。通过模拟 Provider 与 Consumer 的交互,你会亲手实现基于 Spring 代理的服务发布与调用。学完这部分,你应能独立回答:Netty 的 Reactor 线程模型是如何处理高并发连接的?如何在 Spring 容器中通过 BeanPostProcessor 实现服务的自动注册?并能独立搭建一个支持 HTTP 协议调用的简易 RPC 服务。
学习顺序与门槛
建议按资料包中的顺序逐步学习,先建立 IO 模型和 Netty 架构的整体认知,再进入协议设计与服务注册调用。核心门槛在于理解 Netty 的 ChannelPipeline 机制以及 Reactor 模型的线程划分。如果前置知识不足,可以先补一下 Java NIO 的 Selector 和 Channel 原理,再回来看课程。过程中不必追求一次看懂全部源码,跟着案例一步步走完即可。
配套练习与资料使用
建议配合资料包中的源码案例,在本地复现每一个核心步骤。重点对照"自定义注解"、"BeanPostProcessor"和"单例工厂"等章节的代码,理解如何将网络通信与 Spring 容器生命周期结合。通过修改代码参数,观察服务注册与调用的变化,巩固对 RPC 通信流程的理解。学完后,尝试修改协议部分,探索如何支持自定义二进制协议以提升性能,把学到的知识真正用起来。
课程目录
Netty-从零实现RPC框架 | ├──1--【RPC】01-前言.mp4 26.07M | ├──10--【rpc】10-NIO-epoll工作模式.mp4 65.76M | ├──11--【rpc】11-AIO.mp4 43.15M | ├──12--【rpc】12-netty介绍+版本选择.mp4 26.85M | ├──13--【rpc】13-netty架构.mp4 40.30M | ├──14--【rpc】14-netty案例.mp4 152.13M | ├──15--【rpc】15-Reactor模式.mp4 75.86M | ├──16--【RPC】16-HTTP协议的区别.mp4 54.45M | ├──17--【RPC】17-协议选择.mp4 30.68M | ├──18--【RPC】18-provider-api服务.mp4 48.85M | ├──19--【RPC】19-consumer调用服务.mp4 41.68M | ├──2--【RPC】02-IO模型-阻塞IO.mp4 50.16M | ├──20--【RPC】20-rpc模块创建-自定义注解.mp4 54.25M | ├──21--【RPC】21-Spring的Bean注册器.mp4 182.56M | ├──22--【RPC】22-通过代理实现基于HTTP的RPC调用.mp4 140.14M | ├──23--【RPC】23-BeanPostProcessor.mp4 42.44M | ├──24--【RPC】24-实现BeanPostProcessor.mp4 146.25M | ├──25--【RPC】25-单例工厂-发布服务.mp4 68.38M | ├──26--【RPC】26-NettyServer.mp4 174.28M | ├──27--【RPC】27-TCP协议定义.mp4 42.32M | ├──28--【RPC】28-粘包拆包原因.mp4 70.14M | ├──29--【RPC】29-解码器-读取数据.mp4 134.38M | ├──3--【RPC】03-IO模型-非阻塞IO.mp4 25.16M | ├──30--【RPC】30-解码器-解压缩.mp4 38.29M | ├──31--【RPC】31-解码器-SPI.mp4 31.19M | ├──32--【RPC】32-解码器-protocol Buff反序列化.mp4 141.87M | ├──33--【RPC】33-编码器.mp4 84.72M | ├──34--【RPC】34-服务提供方消息处理.mp4 89.37M | ├──35--【RPC】35-Netty客户端发起网络请求.mp4 206.58M | ├──36--【RPC】36-测试.mp4 55.83M | ├──37--【RPC】37-Nacos集成.mp4 177.10M | ├──38--【RPC】38-集群能力.mp4 162.19M | ├──39--【RPC】39-消费方缓存提供方地址.mp4 82.37M | ├──4--【RPC】04-IO模型-IO复用模型.mp4 50.16M | ├──40--【RPC】40-连接失败删除缓存.mp4 41.07M | ├──41--【RPC】41-KeepAlive.mp4 46.68M | ├──42--【RPC】42-服务端心跳检测实现.mp4 36.54M | ├──43--【RPC】43-客户端心跳检测实现.mp4 92.25M | ├──44--【RPC】44-链路检测狗.mp4 211.35M | ├──45--【RPC】45-重连测试.mp4 22.78M | ├──46--【RPC】46-channel缓存.mp4 139.52M | ├──47--【RPC】47-缓存优化.mp4 135.05M | ├──48--【RPC】48-随机负载均衡器.mp4 53.72M | ├──49--【RPC】49-轮询负载均衡器.mp4 83.55M | ├──5--【RPC】05-IO模型-信号驱动IO模型.mp4 19.91M | ├──50--【RPC】50-使用配置.mp4 10.17M | ├──6--【RPC】06-IO模型-异步IO.mp4 16.55M | ├──7--【rpc】07-BIO.mp4 47.59M | ├──8--【rpc】08-NIO-select.mp4 32.21M | └──9--【rpc】09-NIO-epoll.mp4 93.69M 码神RPC | | ├──01.zip 1.83M | | ├──02.zip 193.32kb | | ├──03.zip 304.79kb | | ├──04.zip 7.74kb | | ├──05.zip 10.23kb | | └──06.zip 167.89kb | | └──rpc-parent .zip 208.79kb | | ├──nacos-server-2.0.3.zip 112.15M | | └──netcat-win32-1.12.zip 109.27kb 码神学堂-SpringBoot实战项目教程-无惧面试 | ├──1--【学堂】01-开发项目的流程.mp4 56.70M | ├──10--【学堂】10-微信扫码登录步骤分析.mp4 18.29M | ├──100--【学堂】99-rocketmq安装.mp4 44.69M | ├──101--【学堂】100-sso集成rocketmq.mp4 62.91M | ├──102--【学堂】101-记录登录日志.mp4 100.57M | ├──103--【学堂】102-解决日志记录影响登录的问题.mp4 99.10M | ├──104--【学堂】103-日志消费.mp4 100.65M | ├──105--【学堂】103-账号域名变更说明.mp4 9.84M | ├──106--【学堂】104-课程详情.mp4 64.73M | ├──107--【学堂】105-优惠券数据库设计.mp4 27.39M | ├──108--【学堂】106-个人优惠劵.mp4 146.24M | ├──109--【学堂】107-订单数据库设计.mp4 40.14M | ├──11--【学堂】11-sso模块依赖关系.mp4 32.74M | ├──110--【学堂】108-创建订单.mp4 201.18M | ├──111--【学堂】109-创建订单的问题.mp4 15.22M | ├──112--【学堂】110-发送延时消息.mp4 77.35M | ├──113--【学堂】111-延时消息消费.mp4 168.47M | ├──114--【学堂】112-支付二维码生成流程.mp4 14.47M | ├──115--【学堂】113-微信支付配置.mp4 24.31M | ├──116--【学堂】114-生成微信支付二维码.mp4 138.29M | ├──117--【学堂】115-生成支付二维码测试.mp4 27.34M | ├──118--【学堂】116-支付回调说明.mp4 33.03M | ├──119--【学堂】117-支付回调接口数据库.mp4 22.60M | ├──12--【学堂】12-获取二维码链接-1.mp4 28.54M | ├──120--【学堂】118-支付回调处理.mp4 193.70M | ├──121--【学堂】119-支付回调测试.mp4 35.64M | ├──122--【学堂】120-布置支付作业.mp4 20.40M | ├──123--【学堂】121-查询订单.mp4 41.52M | ├──124--【学堂】122-订单列表.mp4 43.00M | ├──125--【学堂】123-营销需求.mp4 7.91M | ├──126--【学堂】124-查询全部海报.mp4 70.03M | ├──127--【学堂】125-生成推广链接.mp4 88.93M | ├──128--【学堂】126-访问推广链接逻辑.mp4 12.96M | ├──129--【学堂】127-访问推广链接编码.mp4 46.31M | ├──13--【学堂】13-获取二维码链接-2.mp4 76.78M | ├──130--【学堂】128-修改登录逻辑.mp4 79.00M | ├──131--【学堂】129-修改订单逻辑.mp4 72.77M | ├──132--【学堂】130-权限数据库设计.mp4 27.22M | ├──133--【学堂】131-权限后端实现.mp4 155.50M | ├──134--【学堂】132-测试权限.mp4 39.71M | ├──135--【学堂】133-查询和新增角色.mp4 130.08M | ├──136--【学堂】134-编辑角色.mp4 39.34M | ├──137--【学堂】135-权限管理.mp4 56.66M | ├──138--【学堂】136-用户管理.mp4 68.99M | ├──139--【学堂】137-菜单管理.mp4 80.25M | ├──14--【学堂】14-postman测试.mp4 21.69M | ├──140--【学堂】138-菜单动态获取.mp4 220.68M | ├──141--【学堂】139-菜单排序.mp4 7.70M | ├──142--【学堂】140-模板示例.mp4 48.69M | ├──143--【学堂】141-管理台模板化-1.mp4 64.03M | ├──144--【学堂】142-管理台模板化-2.mp4 92.31M | ├──145--【学堂】143-if指令.mp4 21.15M | ├──146--【学堂】144-include指令.mp4 12.38M | ├──147--【学堂】145-使用macro宏定义指令.mp4 14.09M | ├──148--【学堂】146-代码自定义指令和方法.mp4 85.59M | ├──149--【学堂】147-我的课程.mp4 64.19M | ├──15--【学堂】15-nginx配置并测试.mp4 19.27M | ├──150--【学堂】148-我的学习.mp4 126.29M | ├──151--【学堂】149-错题本.mp4 127.78M | ├──152--【学堂】150-索引设置原则.mp4 68.87M | ├──153--【学堂】151-数据页和数据区.mp4 32.36M | ├──154--【学堂】152-B树和B+树.mp4 54.31M | ├──155--【学堂】153-页分裂问题.mp4 15.04M | ├──156--【学堂】154-JVM调优-分代回收.mp4 66.64M | ├──157--【学堂】155-JVM调优-部署测试机.mp4 96.66M | ├──158--【学堂】156-JVM调优-Jmeter压力测试.mp4 185.26M | ├──159--【学堂】157-JVM调优-分析gc日志.mp4 231.66M | ├──16--【学堂】16-扫码登录回调.mp4 94.04M | ├──160--【学堂】158-安全-账号密码加密.mp4 83.87M | ├──17--【学堂】17-扫码登录回调逻辑分析.mp4 58.49M | ├──18--【学堂】18-扫码登录回调domain编写-1.mp4 196.43M | ├──19--【学堂】19-jwt简单介绍.mp4 45.08M | ├──2--【学堂】02-项目背景.mp4 13.65M | ├──20--【学堂】20-扫码登录回调Domain编写-2.mp4 137.73M | ├──21--【学堂】21-微信登录回调测试.mp4 38.48M | ├──22--【学堂】22-代码优化.mp4 91.74M | ├──23--【学堂】23-登录拦截器.mp4 74.21M | ├──24--【学堂】24-token认证.mp4 50.03M | ├──25--【学堂】25-用户信息接口.mp4 105.42M | ├──26--【学堂】26-公众号授权登录.mp4 94.27M | ├──27--【学堂】27-公众号测试账号说明.mp4 43.34M | ├──28--【学堂】28-补充-微信登录的bug修复.mp4 34.34M | ├──29--【学堂】28-公众号登录测试.mp4 81.32M | ├──3--【学堂】03-项目结构介绍.mp4 15.08M | ├──30--【学堂】29-新闻数据库设计+步骤分析.mp4 34.87M | ├──31--【学堂】30-web模块的搭建.mp4 55.58M | ├──32--【学堂】31-新闻列表-1.mp4 75.75M | ├──33--【学堂】32-新闻列表-2.mp4 112.95M | ├──34--【学堂】33-新闻详情.mp4 36.86M | ├──35--【学堂】34-统一缓存.mp4 110.67M | ├──36--【学堂】35-elementUI讲解.mp4 62.06M | ├──37--【学堂】36-管理台登录需求.mp4 17.02M | ├──38--【学堂】37-搭建管理台工程.mp4 48.29M | ├──39--【学堂】38-security集成.mp4 52.37M | ├──4--【学堂】04-项目初始化.mp4 88.82M | ├──40--【学堂】39-security登录实现.mp4 83.48M | ├──41--【学堂】40-新闻管理页面讲解.mp4 148.84M | ├──42--【学堂】41-新闻分页查询.mp4 138.63M | ├──43--【学堂】42-新闻添加和编辑.mp4 95.28M | ├──44--【学堂】43-七牛云图片上传.mp4 149.63M | ├──45--【学堂】44-图片上传测试.mp4 43.43M | ├──46--【学堂】45-JRebel热部署.mp4 27.06M | ├──47--【学堂】46-读写分离原因.mp4 6.07M | ├──48--【学堂】47-MYSQL主从复制原理.mp4 17.16M | ├──49--【学堂】48-读写分离实现.mp4 70.58M | ├──5--【学堂】05-统一返回对象.mp4 51.05M | ├──50--【学堂】49-读写分离测试.mp4 31.74M | ├──51--【学堂】50-学科管理-页面讲解.mp4 75.07M | ├──52--【学堂】51-学科管理-分页查询.mp4 83.30M | ├──53--【学堂】52-学科管理-新增学科.mp4 152.49M | ├──54--【学堂】53-学科管理-编辑学科.mp4 123.86M | ├──55--【学堂】54-习题-数据库设计.mp4 66.48M | ├──56--【学堂】55-习题-分页查询.mp4 184.74M | ├──57--【学堂】56-习题-批量导入-模板定义.mp4 56.41M | ├──58--【学堂】57-习题-批量导入.mp4 238.97M | ├──59--【学堂】58-课程-数据库设计.mp4 22.58M | ├──6--【学堂】06-服务模板.mp4 60.76M | ├──60--【学堂】59-课程-增改查.mp4 165.65M | ├──61--【学堂】60-进入学习-需求分析.mp4 57.46M | ├──62--【学堂】61-sso提供token认证服务.mp4 97.33M | ├──63--【学堂】62-sso的dubbo配置.mp4 76.36M | ├──64--【学堂】63-web集成dubbo.mp4 67.74M | ├──65--【学堂】64-web通过dubbo调用sso测试.mp4 27.03M | ├──66--【学堂】65-获取科目信息.mp4 167.57M | ├──67--【学堂】66-课程列表实现分析.mp4 55.60M | ├──68--【学堂】67-课程列表Domain逻辑1.mp4 148.26M | ├──69--【学堂】68-课程列表Domain逻辑2.mp4 62.99M | ├──7--【学堂】07-单点登录.mp4 19.97M | ├──70--【学堂】69-课程列表获取不到用户的问题.mp4 56.28M | ├──71--【学堂】70-课程列表Domain逻辑3.mp4 80.71M | ├──72--【学堂】71-课程列表Domain逻辑4.mp4 60.65M | ├──73--【学堂】72-优化-缓存.mp4 21.37M | ├──74--【学堂】73-优化-Enable注解的使用.mp4 21.74M | ├──75--【学堂】74-开始学习-课程科目需求分析.mp4 16.68M | ├──76--【学堂】75-课程科目实现.mp4 113.54M | ├──77--【学堂】76-练习-业务逻辑分析.mp4 12.96M | ├──78--【学堂】77-练习-数据库分表设计.mp4 64.82M | ├──79--【学堂】78-练习-api说明.mp4 59.16M | ├──8--【学堂】08-微信pc扫码登录说明.mp4 40.13M | ├──80--【学堂】79-选择单元逻辑补充.mp4 61.87M | ├──81--【学堂】80-练习-业务检查.mp4 71.52M | ├──82--【学堂】81-练习-实现新的练习-1.mp4 157.85M | ├──83--【学堂】82-练习-实现新的练习-2.mp4 252.93M | ├──84--【学堂】83-练习-已有练习实现.mp4 57.35M | ├──85--【学堂】84-练习-分表实现.mp4 157.28M | ├──86--【学堂】85-提交答案-业务逻辑.mp4 22.65M | ├──87--【学堂】86-提交答案-编码.mp4 141.29M | ├──88--【学堂】87-测试-精度损失问题.mp4 58.02M | ├──89--【学堂】88-跳转下一题.mp4 73.11M | ├──9--【学堂】09-用户表数据库设计.mp4 70.97M | ├──90--【学堂】89-日志的必要性.mp4 8.49M | ├──91--【学堂】90-日志发展史.mp4 77.41M | ├──92--【学堂】91-整合log4j2.mp4 84.48M | ├──93--【学堂】92-log4j2配置文件详解.mp4 148.00M | ├──94--【学堂】93-一个作业.mp4 21.79M | ├──95--【学堂】94-埋点日志-技术选型.mp4 15.22M | ├──96--【学堂】95-mongo介绍.mp4 57.65M | ├──97--【学堂】96-docker安装mongo.mp4 114.62M | ├──98--【学堂】97-sso集成mongo.mp4 52.54M | └──99--【学堂】98-rocketmq的好处.mp4 46.29M 码神学堂资料 | | └──lzxt.zip 47.36M 面试宝典 | └──码神之路独家Java面试宝典(第二版).pdf 114.64M ——/码神rpc/码神学堂/├──Netty-从零实现RPC框架 | ├──1--【RPC】01-前言.mp4 26.07M| ├──10--【rpc】10-NIO-epoll工作模式.mp4 65.76M| ├ 码神rpc ,瑞客论坛





