什么是RPC框架?
RPC是一种远程过程调用协议,它允许程序通过网络协议从一台机器上调用另一台机器上的函数或方法。RPC框架是一种用于实现RPC的开发框架,它为开发人员提供了一种方便的方式来实现RPC。
RPC框架流程
RPC框架的流程通常包括以下几个部分:
- 服务端注册:服务端将自己提供的服务注册到RPC框架中,告诉框架它可以提供哪些服务以及如何访问这些服务。
- 客户端发起请求:客户端通过RPC框架向服务端发起请求,包括请求的服务名称、方法名称和参数等信息。
- RPC框架转发请求:RPC框架接收到客户端的请求后,将其转发给服务端。
- 服务端处理请求:服务端接收到RPC框架转发的请求后,根据请求的方法和参数进行处理,并返回结果给客户端。
- RPC框架转发响应:RPC框架接收到服务端的响应后,将其转发给客户端。
- 客户端接收响应:客户端接收到RPC框架转发的响应后,对响应进行处理,并继续执行后续的逻辑。
一次完整的RPC过程如下
- IDL(Interface description language)文件:IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信。
- 生成代码:通过编译器工具把IDL文件转换成语言对应的静态库。
- 编解码:从内存中表示到字节序列的转换称为编码,反之为解码,也常叫做序列化和反序列化。
- 通信协议:规范了数据在网络中的传输内容和格式。除必须的请求/响应数据外,通常还会包含额外的元数据。
- 网络传输:通常基于成熟的网络库走TCP/UDP传输。
总结
RPC(远程函数调用)在后端开发中是相当重要的基础技术。RPC框架分为解编码层;协议层;网络传输层。RPC 的核心指标包括稳定性,可扩展性和高性能等。理解和熟练掌握RPC技术的使用在开发中可以起到很大的帮助。