目录
什么是RPC
RPC的工作原理(同步调用)
什么是RPC
RPC指的是远程过程调用,这个概念是相对于本地过程调用而言的。
- 远程~ 主机A调用主机B的某服务
- 本地~ 主机A的某服务调用主机A的其他服务
RPC的核心模块:通信和序列化
RPC框架:
Dubbo、谷歌的gRPC、阿里的HSF
RPC的工作原理(同步调用)
1.消费方(client)以本地调用的方式调用服务=>消费方存根。
2.消费方存根(client stub)负责存放服务端的地址消息,再将客户端的请求参数打包成网络消息
3.消费方存根找到服务地址,并将消息发送到服务方
4.服务方存根(server stub)收到服务端消息后进行解码
5.服务方存根根据解码的结果调用本地的服务
6.本地服务执行并将结果返回给服务方存根
7.服务方存根将返回结果打包成消息并发送给消费方
8.消费方存根接受到消息进行解码
9.消费方存根把消息发送给消费方