你将获得
- 熟练掌握 RPC 核心原理及架构设计要点;
- 解决 20+ 基于真实场景的高频问题;
- 深入剖析 RPC 框架的系统应用;
- 手把手设计一个灵活的 RPC 框架。
课程介绍
在应用架构“微服务化”大行其道的今天,RPC 早已经成为了工程师们的家常便饭。可以说,只要涉及到网络通信,我们就可能使用到 RPC,它已然成为解决分布式系统通信问题的一大利器。
虽然社区里已经有很多开源的 RPC 项目,它们简单易用,但如果揉碎了进去看框架的源代码,你会发现这其中涉及序列化、压缩算法、协议、动态代理、服务注册、加密、网络编程等等方面的知识。这不由得让人想起麦克利兰提出的冰山模型,那些复杂、核心的技术都在水面之下。
这还只是框架本身,如果再进一步说 RPC 集群,这里面又需要你懂监控、熔断限流、优雅启停、多协议、分布式链路跟踪等等知识。所以有人就说,你要是能研究透 RPC,那基本就是一个资深的架构师了。
本专栏结合何小锋过去 20 多年累积的工作经验,精挑细选了 20 多个 RPC 相关的高频场景化问题,帮你搞懂 RPC 核心原理。专栏的教学目标是帮你透彻理解 RPC,并能自行动手实现一个灵活的 RPC 框架;另外,专栏中覆盖的诸多线上案例及解决方案,相信也能为你所用。
具体内容上,专栏共分为三大部分,基础篇、进阶篇和高级篇。前两部分可以解决大部分场景问题,最后一部分则是解决一些更为复杂的场景问题。
基础篇:重点讲解 RPC 的基础知识,包括 RPC 的基本原理以及它的功能模块,夯实基础之后,老师会通过剖析一款 RPC 框架的授课方式来将知识点串联起来。
进阶篇:重点讲解 RPC 框架的架构设计,以及 RPC 框架集群、治理相关的知识。这部分老师会把自己曾经遇到过的线上问题包装加工后,娓娓道来地讲给你听。
高级篇:通过对上述两部分的学习,你已经对 RPC 有了较高层次的理解。这部分老师主要会从性能优化、线上问题排查以及一些比较有特色的功能设计上为你讲解 RPC 集群等高阶知识。
课程目录
├── 00丨开篇词 (1讲)/
│ ├── 00丨开篇词丨别老想着怎么用好RPC框架,你得多花时间琢磨原理.html
│ ├── 00丨开篇词丨别老想着怎么用好RPC框架,你得多花时间琢磨原理.m4a
│ └── 00丨开篇词丨别老想着怎么用好RPC框架,你得多花时间琢磨原理.pdf
├── 01丨基础篇 (6讲)/
│ ├── 01丨核心原理:能否画张图解释下RPC的通信流程?.html
│ ├── 01丨核心原理:能否画张图解释下RPC的通信流程?.m4a
│ ├── 01丨核心原理:能否画张图解释下RPC的通信流程?.pdf
│ ├── 02丨协议:怎么设计可扩展且向后兼容的协议?.html
│ ├── 02丨协议:怎么设计可扩展且向后兼容的协议?.m4a
│ ├── 02丨协议:怎么设计可扩展且向后兼容的协议?.pdf
│ ├── 03丨序列化:对象怎么在网络中传输?.html
│ ├── 03丨序列化:对象怎么在网络中传输?.m4a
│ ├── 03丨序列化:对象怎么在网络中传输?.pdf
│ ├── 04丨网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型?.html
│ ├── 04丨网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型?.m4a
│ ├── 04丨网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型?.pdf
│ ├── 05丨动态代理:面向接口编程,屏蔽RPC处理流程.html
│ ├── 05丨动态代理:面向接口编程,屏蔽RPC处理流程.m4a
│ ├── 05丨动态代理:面向接口编程,屏蔽RPC处理流程.pdf
│ ├── 06丨RPC实战:剖析gRPC源码,动手实现一个完整的RPC.html
│ ├── 06丨RPC实战:剖析gRPC源码,动手实现一个完整的RPC.m4a
│ └── 06丨RPC实战:剖析gRPC源码,动手实现一个完整的RPC.pdf
├── 02丨进阶篇 (11讲)/
│ ├── 07丨架构设计:设计一个灵活的RPC框架.html
│ ├── 07丨架构设计:设计一个灵活的RPC框架.m4a
│ ├── 07丨架构设计:设计一个灵活的RPC框架.pdf
│ ├── 08丨服务发现:到底是要CP还是AP?.html
│ ├── 08丨服务发现:到底是要CP还是AP?.m4a
│ ├── 08丨服务发现:到底是要CP还是AP?.pdf
│ ├── 09丨健康检测:这个节点都挂了,为啥还要疯狂发请求?.html
│ ├── 09丨健康检测:这个节点都挂了,为啥还要疯狂发请求?.m4a
│ ├── 09丨健康检测:这个节点都挂了,为啥还要疯狂发请求?.pdf
│ ├── 10丨路由策略:怎么让请求按照设定的规则发到不同的节点上?.html
│ ├── 10丨路由策略:怎么让请求按照设定的规则发到不同的节点上?.m4a
│ ├── 10丨路由策略:怎么让请求按照设定的规则发到不同的节点上?.pdf
│ ├── 11丨负载均衡:节点负载差距这么大,为什么收到的流量还一样?.html
│ ├── 11丨负载均衡:节点负载差距这么大,为什么收到的流量还一样?.m4a
│ ├── 11丨负载均衡:节点负载差距这么大,为什么收到的流量还一样?.pdf
│ ├── 12丨异常重试:在约定时间内安全可靠地重试.html
│ ├── 12丨异常重试:在约定时间内安全可靠地重试.m4a
│ ├── 12丨异常重试:在约定时间内安全可靠地重试.pdf
│ ├── 13丨优雅关闭:如何避免服务停机带来的业务损失?.html
│ ├── 13丨优雅关闭:如何避免服务停机带来的业务损失?.m4a
│ ├── 13丨优雅关闭:如何避免服务停机带来的业务损失?.pdf
│ ├── 14丨优雅启动:如何避免流量打到没有启动完成的节点?.html
│ ├── 14丨优雅启动:如何避免流量打到没有启动完成的节点?.m4a
│ ├── 14丨优雅启动:如何避免流量打到没有启动完成的节点?.pdf
│ ├── 15丨熔断限流:业务如何实现自我保护.html
│ ├── 15丨熔断限流:业务如何实现自我保护.pdf
│ ├── 15丨熔断限流:业务如何实现自我保护疄.m4a
│ ├── 16丨业务分组:如何隔离流量?.html
│ ├── 16丨业务分组:如何隔离流量?.m4a
│ ├── 16丨业务分组:如何隔离流量?.pdf
│ ├── 答疑课堂丨基础篇与进阶篇思考题答案合集.html
│ ├── 答疑课堂丨基础篇与进阶篇思考题答案合集.m4a
│ └── 答疑课堂丨基础篇与进阶篇思考题答案合集.pdf
├── 03丨高级篇 (8讲)/
│ ├── 17丨异步RPC:压榨单机吞吐量.html
│ ├── 17丨异步RPC:压榨单机吞吐量.m4a
│ ├── 17丨异步RPC:压榨单机吞吐量.pdf
│ ├── 18丨安全体系:如何建立可靠的安全体系?.html
│ ├── 18丨安全体系:如何建立可靠的安全体系?.m4a
│ ├── 18丨安全体系:如何建立可靠的安全体系?.pdf
│ ├── 19丨分布式环境下如何快速定位问题?.html
│ ├── 19丨分布式环境下如何快速定位问题?.pdf
│ ├── 19丨综合案例:电商平台技术架构是如何演变的?.m4a
│ ├── 20丨详解时钟轮在RPC中的应用.html
│ ├── 20丨详解时钟轮在RPC中的应用.m4a
│ ├── 20丨详解时钟轮在RPC中的应用.pdf
│ ├── 21丨流量回放:保障业务技术升级的神器.html
│ ├── 21丨流量回放:保障业务技术升级的神器.m4a
│ ├── 21丨流量回放:保障业务技术升级的神器.pdf
│ ├── 22丨动态分组:超高效实现秒级扩缩容.html
│ ├── 22丨动态分组:超高效实现秒级扩缩容.m4a
│ ├── 22丨动态分组:超高效实现秒级扩缩容.pdf
│ ├── 23丨如何在没有接口的情况下进行RPC调用?.html
│ ├── 23丨如何在没有接口的情况下进行RPC调用?.m4a
│ ├── 23丨如何在没有接口的情况下进行RPC调用?.pdf
│ ├── 24丨如何在线上环境里兼容多种RPC协议?.html
│ ├── 24丨如何在线上环境里兼容多种RPC协议?.m4a
│ └── 24丨如何在线上环境里兼容多种RPC协议?.pdf
├── 04丨特别放送 (1讲)/
│ ├── 特别放送丨谈谈我所经历过的RPC.html
│ ├── 特别放送丨谈谈我所经历过的RPC.m4a
│ └── 特别放送丨谈谈我所经历过的RPC.pdf
├── 05丨结束语 (1讲)/
│ ├── 结束语丨学会从优秀项目的源代码中挖掘知识.html
│ ├── 结束语丨学会从优秀项目的源代码中挖掘知识.m4a
│ └── 结束语丨学会从优秀项目的源代码中挖掘知识.pdf
免责声明:
评论0