Java知识分享
热爱技术,分享技术

Dubbo远程调用细节

Dubbo服务发布与消费的概要流程

1. Dubbo服务提供者暴露服务的概要过程

首先ServiceConfig类引用对外提供服务的实现类,ref (如UserServiceImpl),然后通过ProxyFactory接口的扩展实现类的getInvoker()方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成了具体服务到Invoker的转化。接下来就是Invoker转换到Exporter的过程。Dubbo协议的Invoker专为Exporter发生在DubboProtocol类的export()方法中,Dubbo处理服务暴露的关键就在Invoker转换到Exporter的过程中,在这个过程中会先启动Netty Server监听服务连接,然后将服务注册到服务注册中心。

Dubbo暴露服务的概要过程
Dubbo暴露服务的概要过程

2. Dubbo服务消费者消费一个服务的概要过程

Dubbo消费服务的概要过程
Dubbo消费服务的概要过程

首先ReferenceConfig类的init()方法调用Protocol扩展实现类的refer()方法生成Invoker实例,这是服务消费的关键,解下来把Invoker转换为客户端需要的接口。

Dubbo协议中Invoker转换为客户端需要的接口,发生在ProxyFactory接口的拓展实现类getProxy()方法中,它主要是使用代理对服务接口的调用转换为对Invoker的调用。

打赏
本站所有资源均来源于网络,仅供学习使用,请支持正版!Java技术开源 » Dubbo远程调用细节

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册