RPC学习笔记
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,它允许程序在不同的地址空间中调用另一个程序的函数,就像调用本地函数一样。通过RPC,开发人员可以构建分布式系统,其中程序可以在不同的计算机或网络节点上运行,但仍能相互通信并调用对方的服务或方法。
RPC工作流程
- 客户端发起调用:客户端调用一个本地的代理函数(stub),并将参数传给它。
- 序列化参数:客户端stub将参数序列化。
- 发送请求:将请求发送到被调用的远程服务器。
- 远程服务器处理请求:远程服务器收到请求后反序列化参数,调用本地的目标函数。
- 远程服务器返回调用结果:远程服务器执行完函数后,将执行结果序列化并返回给客户端。
- 客户端接收结果:客户端接受到远程服务器的响应,然后反序列化结果,最后将它返回给最初调用的程序。
RPC框架
主流的RPC框架有:
- gRPC
- Dubbo