描述
在应用架构“微服务化”大行其道的今天,RPC 早已经成为了工程师们的家常便饭。可以说,只要涉及到网络通信,我们就可能使用到 RPC,它已然成为解决分布式系统通信问题的一大利器。
虽然社区里已经有很多开源的 RPC 项目,它们简单易用,但如果揉碎了进去看框架的源代码,你会发现这其中涉及序列化、压缩算法、协议、动态代理、服务注册、加密、网络编程等等方面的知识。这不由得让人想起麦克利兰提出的冰山模型,那些复杂、核心的技术都在水面之下。
这还只是框架本身,如果再进一步说 RPC 集群,这里面又需要你懂监控、熔断限流、优雅启停、多协议、分布式链路跟踪等等知识。所以有人就说,你要是能研究透 RPC,那基本就是一个资深的架构师了。
本专栏结合何小锋过去 20 多年累积的工作经验,精挑细选了 20 多个 RPC 相关的高频场景化问题,帮你搞懂 RPC 核心原理。专栏的教学目标是帮你透彻理解 RPC,并能自行动手实现一个灵活的 RPC 框架;另外,专栏中覆盖的诸多线上案例及解决方案,相信也能为你所用。
作者简介
何小锋,京东技术架构部首席架构师。1998 年毕业于北航,从事软件研发工作 22 年,热爱技术、追求卓越。2011 年加入京东,期间参加过 17 次大促备战,见证了京东的技术演进过程。他曾带领团队攻克过很多技术领域难题,包括自主研发微服务框架、高性能消息中间件、智能监控以及容器平台等等。 近年,他主攻分布式系统架构与设计。长居技术一线,实战经验丰富。
你将获得
- 熟练掌握 RPC 核心原理及架构设计要点
- 解决 20+ 基于真实场景的高频问题
- 深入剖析 RPC 框架的系统应用
- 手把手设计一个灵活的 RPC 框架
课程设计
一、需要什么基础?
- 适宜人群:有编程经验的后端工程师或者全栈工程师,尤其是致力于中小型微服务系统以及大型分布式应用系统的开发人员。
- 不适宜人群:编程语言基础薄弱的初级工程师。
- 特别说明:本专栏动手实践性强,不建议仅通过音频学习,“文稿 + 音频 + 动手实践”为最佳学习方式。
二、专栏会讲哪些知识?
整个专栏以“RPC 实战场景”为核心,重点关注解决方案以及背后的实现原理。内容设置以“逐步深入”的方式进行设计,先夯实基础,带你系统了解 RPC 通信过程中必知必会的知识点;再带你学习 RPC 的重点难点,主要包括 RPC 框架中的治理功能以及集群管理功能等等;最后活学活用,关注系统性能提升、线上问题排查等等。
三、专栏模块是怎么设置的?
专栏共分为三大部分,基础篇、进阶篇和高级篇。前两部分可以解决大部分场景问题,最后一部分则是解决一些更为复杂的场景问题。具体内容如下。
基础篇:重点讲解 RPC 的基础知识,包括 RPC 的基本原理以及它的功能模块,夯实基础之后,老师会通过剖析一款 RPC 框架的授课方式来将知识点串联起来。
进阶篇:重点讲解 RPC 框架的架构设计,以及 RPC 框架集群、治理相关的知识。这部分老师会把自己曾经遇到过的线上问题包装加工后,娓娓道来地讲给你听。
高级篇:通过对上述两部分的学习,你已经对 RPC 有了较高层次的理解。这部分老师主要会从性能优化、线上问题排查以及一些比较有特色的功能设计上为你讲解 RPC 集群等高阶知识。
订阅须知
- 本专栏为订阅专栏,更新时间为 2020 年 02 月 17 日至 2020 年 04 月 20 日。