架构师之路-dubbo调用过程及源码分析(三)

在这里插入图片描述

RPC调用过程

一、 RPC暴露

RPC暴露,就是为某个服务创建好一个中转对象(参接触网络/能调用本地service)
在这里插入图片描述
中转对象:代服务消费方发起请求,其实是一个正向的代理
在这里插入图片描述

二、 RPC引入

消费方,把请求的目标/方法/参数发送给中转对象,中转对象就能执行方法并返回
引入:建一个动态代理对象,专职来发送本接口请求信息

在这里插入图片描述
Proxy:动态代理对象,专职做发送请求,封装了Protocol.refer.Invoker的请求
Protocol.refer.Invoker:外转对象通过网络发送请求,把请求信息包括:目标/方法/参数发送给中转对象,中转对象就能执行并返回结果了,中转对象的实现该功能就类似反射的方式实现的。

以上就是rpc调用的过程了

三、源码跟踪

dubbo中转对象跟踪源码
在这里插入图片描述

springrmi模拟,理解调用过程

服务提供方暴露服务,服务端在中转对象上,设定— 接口/实现/url
在这里插入图片描述
接口:interface接口
实现:new RmiEnjoyService()
url:rmi://127.0.0.1:1919/com.ws.service.IRmiEnjoyService

消费端创建代理对象,设定 接口/url
在这里插入图片描述
在这里插入图片描述
接口:interface接口
url:rmi://127.0.0.1:1919/com.ws.service.IRmiEnjoyService

调用过程是这样的
中转对象,跟着代理对象动作,猴子学样
在这里插入图片描述

4、dubbo代理对象与中转对象(目标) 建立的关系,通过URL来传递的。
URL是整个dubbo里的总信息描述符。
在这里插入图片描述
代理对象去请求东西的地方,它有一个比较关键的地方就是他要去绑定这个url,最终url存在这个zk上面,然后我们的代理对象要去发目标 时,他就会根据这个url就会正确找到中转对象,正确找到目标
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值