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

59 阅读2分钟

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

知识点

1.RPC框架的概念和一些相关介绍

细则

1.RPC的基本概念

  • RPC(Remote Procedure Call Protocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
  • RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。

2.一次RPC的完整过程

IDL文件:通过中立的方式来描述接口,使得在不同平台上运行得对象和用不同语言编写得程序可以互相通信。

生成代码:通过编译器工具把IDL文件转换成语言对应得静态库。

编解码:从内存中表示到字节序列得转换称为编码,反之为解码,也常叫做序列化和发序列化。

通信协议:规范了数据在网络传输内容和格式。除必须得请求/响应数据外,通常还会包含额外的元数据。

网络传输:通常基于成熟得网络库走TCP/UDP传输

3.关键指标

  • 稳定性
  • 易用性
  • 扩展性
  • 观测性

4.分层设计的概念

把用户自己编写的逻辑代码通过生成工具转换成不同语言对应的lib代码,并封装解码逻辑

常用数据格式:json,xml,csv等,也可使用语言自带的特性格式或者转化为一致的二进制编码等