1.什么是RPC
RPC - Remote Procedure Calls 远程函数调用
相当于本地将参数上传到云端,云端根据形参计算返回结果,并返还给本地。
2.RPC需要解决的问题
函数映射
数据转换成字节流
网络传输
3.一次RPC的完整过程
IDL文件:通过一种中立的方式来描述接口,使得不同平台上运行的对象可以互相通信,例如thrift,proto
生成代码:通过编译器工具把IDL文件转换成语言对应的静态库
编解码:传输过程中用于打包与解压
通信协议:规范了数据在网络中的传输内容与格式
网络传输:基于成熟的网络库走TCP/UDP传输
4.RPC的好处
1.单一职责,有利于分工协作和运维开发
2.可扩展性强,资源利用率更高
3.故障隔离
5.RPC的分层设计
分为三层:编解码层,协议层,网络通信层
例如thrift