RPC 实战与核心原理
何小锋
京东云混合云首席架构师
41883 人已学习
新⼈⾸单¥59
课程目录
已完结/共 29 讲
RPC 实战与核心原理
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
付费课程,可试看

视频资源获取失败

开篇词 | 别老想着怎么用好RPC框架,你得多花时间琢磨原理
01 | 核心原理:能否画张图解释下RPC的通信流程?
02 | 协议:怎么设计可扩展且向后兼容的协议?
03 | 序列化:对象怎么在网络中传输?
04 | 网络通信:RPC框架在网络通信上更倾向于哪种网络IO模型?
05 | 动态代理:面向接口编程,屏蔽RPC处理流程
06 | RPC实战:剖析gRPC源码,动手实现一个完整的RPC
07 | 架构设计:设计一个灵活的RPC框架
08 | 服务发现:到底是要CP还是AP?
09 | 健康检测:这个节点都挂了,为啥还要疯狂发请求?
10 | 路由策略:怎么让请求按照设定的规则发到不同的节点上?
11 | 负载均衡:节点负载差距这么大,为什么收到的流量还一样?
12 | 异常重试:在约定时间内安全可靠地重试
13 | 优雅关闭:如何避免服务停机带来的业务损失?
14 | 优雅启动:如何避免流量打到没有启动完成的节点?
15 | 熔断限流:业务如何实现自我保护?
16 | 业务分组:如何隔离流量?
答疑课堂 | 基础篇与进阶篇思考题答案合集
17 | 异步RPC:压榨单机吞吐量
18 | 安全体系:如何建立可靠的安全体系?
19 | 分布式环境下如何快速定位问题?
20 | 详解时钟轮在RPC中的应用
21 | 流量回放:保障业务技术升级的神器
22 | 动态分组:超高效实现秒级扩缩容
23 | 如何在没有接口的情况下进行RPC调用?
24 | 如何在线上环境里兼容多种RPC协议?
结束语 | 学会从优秀项目的源代码中挖掘知识
加餐 | 谈谈我所经历过的RPC
加餐 | RPC框架代码实例详解
本节摘要

你好,我是何小锋。上一讲我们学习了如何在线上环境里兼容多种 RPC 协议,目的就是为了能够平滑地升级线上环境中已经存在的 RPC 框架,同时我们也可以利用多协议的特点来支持不同的使用场景。

以上就是我们整个专栏关于技术内容的最后一讲了,很幸运能够和你一起携手并肩走过这些日子,这段时间我们跨了新年,也经历了让人猝不及防的新冠肺炎。现在我才发现原来能够自由地呼吸新鲜空气也是一种幸福,祝你平平安安度过这段艰难的日子,期待我们能早日摘下口罩。为了感谢你这些日子的陪伴,今天我们来换换脑子,聊一些轻松的话题。我就和你分享分享我所经历过的 RPC 框架吧。

与 RPC 结缘

我 1998 从大学毕业的时候,互联网并不是像今天这样如火如荼地进行着。那时候大部分 IT 公司都在耕耘数字化办公相关领域,所以大学毕业的时候我也就随了大流,进入了一个从事办公软件开发的公司,也就是我们今天经常说的“传统软件行业”。

后来随着互联网的快速普及,各个行业都想借着这个机会跟互联网发生点关系,因为大家都知道互联网代表着未来,在咱国内借助互联网技术发展最快的行业代表就是电商和游戏。

得益于互联网的普及,各个互联网公司有关技术的文章也是扑面而来,比如 A 公司因为流量激增而导致整站长时间瘫痪,B 公司因为订单持续上涨而导致数据库压力太大等等。每当我看到类似技术文章的时候,我都在想自己什么时候也可以遇到能用技术优化的方式来解决的问题呢。后来发现这些“设想”在我当时所在的行业里很难体会到,所以 2011 年我毅然选择了加入京东。

登录 后留言

全部留言(15)

  • 最新
  • 精选
Reason
非常感谢老师的分享。最感兴趣的一点是,非业务功能从传统的 RPC 框架中剥离出来,下沉到基础设施并且融入基础设施,能否有幸听到老师关于这一点的具体展开呢?

作者回复: 最明显的就是服务发现

2020-04-17
5
凌霄
多次听到鲁棒性,看来鲁棒性大于性能

作者回复: 越是基础设施,稳定性肯定第一优先

2020-04-17
4
上帝之手
老师,您好,我很好奇,你们选择了dubbo,却没有选择spring cloud,虽然我没有研究过dubbo,但看过spring cloud核心代码的一部分,我觉得大体上跟您描述的RPC实现的功能上来说差不多。网上很多资料说spring cloud也要强于dubbo,是不是因为spring cloud是基于http的,性能不够高的原因?还有一个疑问,spring cloud它属于RPC框架吗,网上资料也是层出不穷,各持己见。谢谢老师

作者回复: 不同时期吧,至于dubbo和Spring cloud选型可以根据实际需要。

2020-04-17
5
3
xiaoa
期待老师更多点心路的分享,感谢老师分享

作者回复: 希望对你有帮助

2020-04-17
2
忆水寒
感想颇多,在不同业务场景下选择不同的RPC框架,我们自己也实现了一套自研的RPC,可以切磋切磋。

作者回复: 👍

2020-04-21
1
问心
老师,上了k8s以后,rpc内部的路由、权重、负载均衡等组件是不是就不需要了?

作者回复: 服务治理任何时候都需要

2020-04-21
1
上山砍柴
非常感谢老师的付出,带来这么好的系列文章。每篇文章后都提有一个问题,老师能不能再筛选出一些问题,给出一个详细权威的解答呢

作者回复: 已经写了一篇了

2020-04-19
1
Jackey
感谢老师的分享,第一遍阅读收获很大,进阶篇的内容感觉难度还挺大的,打算二刷

作者回复: 加油

2020-04-17
哈哈,路径差不多,我是11年开始工作,也是先在传统企业(这是我职业生涯的开始,回头看是失误的)在16年加入Jd,非常感谢Jd,让我的技术有了长足的进步,让我见识和使用了各种各样的互联网技术。 很可笑,之前在传统公司做了许多增删改查导入导出的事情,以为就是这样,其实不是,后来发现差不多。差别在于体量,由于单机性能和存储的瓶颈,所以,有了通过网络链接更多机器一起搞事情的契机,后面各种各样的技术,都是为了使多台机器一起工作像一台机器在工作一样的效果,这样就突破了单机的性能和存储瓶颈。所以,网络通信是互联网技术的底座。
2020-05-16
2
20
亚林
这年头,能养得起Kubernetes团队的中小型公司也不多
2026-01-22
收起评论