Dubbo Consumer引用服务的方法是什么


这篇文章主要介绍“DubboConsumer引用服务的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“DubboConsumer引用服务的方法是什么”文章能帮助大家解决问题。在之前的章节中已经知道,Dubbo基于Spring自定义标签规范实现了自定义标签,通过自定义标签完成了bean的加载,并且通过实现监听Spring容器刷新完毕事件启动dubbo客户端。启动客户端伴随着服务发布和服务的订阅。dubbo通过标签引用服务,之后在程序中通过Spring的Context依赖查找(getBean)的方式获取引用的服务的代理实例。加载的Bean是ReferenceBean,它实现了FactoryBean接口,getBean时会调用ReferenceBean的getObject()方法,这是获取引用的入口。getBean方法会判断Reference对象是否是空的,如果是空的,调用init方法。代码如下:ReferenceBean继承了ReferenceConfig,当调用ReferenceBean的getObject()方法会调用ReferenceBean的get()方法。创建代理服务会创建Invoker,在引用服务过程中,会判断协议是否为injvm,会根据协议做不同的处理,不是injvm协议会根据构造的配置信息(map)生成url并将url协议有zookeeper://改成registry://,然后通过Protocol接口refer方法引用服务,与发布服务相似,引用服务的过程也会包装方法的调用链,如下:- ProtocolListenerWrapper
– – ProtocolFilterWrapper
– – – RegistryProtocol在refer的过程中会对一个服务端的引用和一个服务多个服务端的服务进行区分处理,对于有多个服务端的服务会进行集群处理(cluster),会讲invoker列表加入到集群中,在调用过程中会根据集群策略来选择不同的策略进行调用,集群策略实现也实现了SPI机制,RegistryProtocol#doRefer方法,directory.subscribe会按照下面的调用链进行处理,最后调用ZookeeperRegistry#doSubscribe方法向zk注册数据订阅接口,并设置监听。- RegistryDirectory
– – ListenerRegistryWrapper
– – – FailbackRegistry
– – – – ZookeeperRegistryrefer服务创建Invoker时会调用该方法,该方法会通过getClients创建网络客户端,创建客户端是会判断客户端是否为共享链接,根据connections创建客户端ExchangeClient,然后通过initClient初始化客户端,初始化过程中会判断是否为延迟的客户端LazyConnectExchangeClient,不是延迟客户端,就会通过connect连接服务提供者,与服务提供者连接,具体建立连接流程不在这里说明,会在网络通信介绍。关于“DubboConsumer引用服务的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果免费云主机域名想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: python中conda虚拟环境管理和jupyter内核管理的方法

本篇内容介绍了“python中conda虚拟环境管理和jupyter内核管理的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.安装virtualenv2.…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/17 18:13
下一篇 05/17 18:13

相关推荐