RPC 原理与实践 | 青训营笔记

93 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

今天的课程主要讲解的是RPC原理与实践,RPC就是远程函数调用,是我们开发微服务项目的时候需要考虑的问题。下面是我对今天课程进行的总结和心得,希望能够对大家有所帮助。

课程重点内容

今天的课程主要讲解了以下几方面的内容。

  • RPC相关的基本概念
  • RPC框架的分层设计
  • 衡量RPC框架的一些核心指标
  • RPC 框架 Kitex 的实践分享

知识点介绍

RPC就是远程函数调用,使用远程函数调用就需要考虑:函数映射、数据转成字节流、网络传输等问题。

下面简单介绍一下,一次RPC(远程函数调用)的完整过程。首先我们需要一个IDL文件,通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信。然后需要生成代码,也就是通过编译工具把IDL文件转换成语言对应的静态库。然后我们还需要由编码和解码的过程(也可以称为序列化和反序列化)。编码可以解决跨语言的数据交换格式,但是我们还需要解决通信问题,制定通信协议,规范数据在网络中传输的内容和格式,然后通过TCP或者UDP进行网络传输。

课程中介绍了RPC框架的分层设计,主要可以分为三层:编解码层、传输协议层、网络通信层。这里不再对每一层进行详细的展开介绍。

课后总结

RPC是项目开发时必不可少的一个问题,作为后端程序员大家应当去了解RPC的知识原理,并且掌握RPC一些相关的框架和技能。课后有时间可以进行系统学习。