RPC
Remote Procedure Call
远程过程调用
调用步骤
1、服务消费方client调用,以本地调用方式,调用服务
2、client stub接收到调用后,负责将方法、参数等
组装成能够进行网络传输的消息体
client stub,客户端代理
3、client stub找到服务地址,并将消息发送到服务端
4、server stub收到消息后,进行解码
server stub,服务端代理
5、server stub根据解码结果,调用本地的服务
6、本地服务执行并将结果,返回给server stub
7、server stub将返回结果打包成消息,并发送至消费方
8、client stub接收到消息,并进行解码
9、服务消费方得到最终结果
Dubbo
使用Dubbo的时候,只做了两步
1、服务消费方client调用,以本地调用方式,调用服务
2、服务消费方,得到最终结果
调用过程
以面向接口的方式,调用一个远程方法
然后,可以直接获取调用结果
中间的整个过程,对于我们来说是透明、不可见
RPC框架作用
将中间的过程,封装起来
Dubbo框架,也是一种RPC框架
封装了2~8步,调用过程的中间环节
在调试源码的时候,可以查看当前处于的调用环节