视频资源获取失败
你好,我是何小锋,好久不见!咱们专栏结课有段时间了,这期间我和编辑冬青一起对整个课程做了复盘,也认真挨个逐字看了结课问卷中的反馈,其中呼声最高的是“想看 RPC 代码实例”,今天我就带着你的期待来了。
还记得我在[结束语]提到过,我在写这个专栏之前,把公司内部我负责的 RPC 框架重新写了一遍。口说无凭,现在这个 RPC 框架已经开源,接受你的检阅。
下面我就针对这套代码做一个详细的解析,希望能帮你串联已学的知识点,实战演练,有所收获。
首先说我们 RPC 框架的整体架构,这里请你回想下[第 07 讲],在这一讲中我讲解了如何设计一个灵活的 RPC 框架,其关键点就是插件化,我们可以利用插件体系来提高 RPC 的扩展性,使其成为一个微内核架构,如下图所示:

这里我们可以看到,我们将 RPC 框架大体分为了四层,分别是入口层、集群层、协议层和传输层,而这四层中分别包含了一系列的插件,而在实际的 RPC 框架中插件会更多。在我所开源的 RPC 框架中就超过了 50 个插件,其中涉及到的代码量也是相当大的,下面我就通过服务端启动流程、调用端启动流程、RPC 调用流程这三大流程来将 RPC 框架的核心模块以及核心类串联起来,理解了这三大流程会对你阅读代码有非常大的帮助。

作者回复: 👍
作者回复: 扩张性和吞吐量