![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dubbo
小號子
这个作者很懒,什么都没留下…
展开
-
【dubbo源码分析】6. dubbo消费端-Consumer如何通过引用代理调用具体服务方法
由文章 5.ProxyFactory使用 Invoker创建消费端调用代理类 知 DemoService引用代理类为:因此,当我们调用demoService.sayHello("world") 方法时,将会调用代理类proxy0.sayHello()public class proxy0 implements ClassGenerator.DC, EchoService, DemoService...原创 2018-04-18 17:29:45 · 736 阅读 · 0 评论 -
【dubbo源码分析】4.dubbo消费端-消费端 DubboProtocol 服务消费 refer 过程
DubboProtocol.refer() 过程==============================================================代码分析==============================================================================================================...原创 2018-04-13 12:48:29 · 911 阅读 · 0 评论 -
【dubbo源码分析】3.dubbo消费端-Referenceconfig 初始化之远程注册中心方式初始化
1 构建注册中心信息列表:loadRegistries(false) 负责将注册中心集群配置地址 [<dubbo:registry address="10.0.28.54:2181;10.0.28.54:2182;10.0.28.54:2183" protocol="zookeeper" id="com.alibaba.dubbo.config.RegistryConfig" />]...原创 2018-04-13 11:58:16 · 2884 阅读 · 0 评论 -
【dubbo源码分析】2.dubbo消费端-ReferenceConfig初始化过程
主要流程分为:1.如果为本地服务 (Injvm)则直接调用InjvmProtocol进行订阅服务初始化;2.如果配置直连urls,则根据各url.protocol进行初始化服务;3.如果为远程注册中心,则获取注册中心列表,依次订阅服务进行服务初始化详情请查看 referenceconfig 初始化之远程注册中心...原创 2018-04-13 11:52:14 · 1305 阅读 · 0 评论 -
【dubbo源码分析】9.dubbo的consumer和provider调用交互过程
本文主要介绍consumer和provider在具体服务调用的时候是如何进行交互的。首先我们要清楚在consumer启动后对于服务接口生成了怎样的接口代理类和provider端对于服务的实现类有生成了怎么样代理类供Invoker使用。下面以Dubbo提供的demo来讲解。先来回顾一下1.provider端1.1.provider为各个服务实现类(如 DemoServiceImpl)都怎么生成装饰类...原创 2018-04-13 11:49:25 · 3147 阅读 · 0 评论 -
【dubbo源码分析】dubbo com.alibaba.dubbo.common.extension.ExtensionFactory之Adaptive类
@SPIpublic interface ExtensionFactory { <T> T getExtension(Class<T> type, String name);}ExtensionFactory 是根工厂类,是后续获取各个Extension的基础,是其他Extension的ObjectFactory在ExtensionLoader 中有个私有构造函...原创 2018-04-13 11:41:54 · 886 阅读 · 0 评论 -
【dubbo源码分析】dubbo关键类 ExtensionLoader
ExtensionLoader 几个重要方法:1.getExtensionLoader(Class type); 根据 class 从缓存中获取可用的ExtensionLoader 工厂,如果没有则创建新实例( new ExtensionLoader(Class type))并放入缓存中2.getAdaptiveExtension(); 获取AdaptiveExtension 实例 【包含被@A...原创 2018-04-13 11:38:40 · 214 阅读 · 0 评论 -
【dubbo源码分析】8.dubbo服务端-DubboProvider服务端暴露过程详解
provider服务暴露过程分为两种:1.发布本地服务【Injvm】,主要供本地环境服务间调用2.发布远程服务【protocol】,根据注册中心地址列表将服务依次发布到注册中心上。整体交互图如下:下面开始讲解本地暴露和远程暴露过程:1.本地服务暴露(Injvm)1.1 本地服务 Invoker构建ServiceConfig.java: private static final Protocol p...原创 2018-04-13 10:48:42 · 899 阅读 · 0 评论 -
【dubbo源码分析】7.dubbo服务端-dubbo-provider加载过程
本文使用的是dubbo-2.5.8版,注册中心是zk(使用不同端口构建第一个伪集群)配置文件: debbo-demo-provider.xml<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" ...原创 2018-04-13 10:12:01 · 340 阅读 · 0 评论 -
【dubbo源码分析】1. dubbo消费端 - dubbo-consumer加载流程
dubbo-demo-consumer.xml:Main启动入口:加载配置文件时spring读取META_INF/spring.handler文件进行xsd文件配置解析(DubboNamespaceHandler)初始化Bean:当初始化<dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.d...原创 2018-04-18 17:41:16 · 290 阅读 · 0 评论 -
【dubbo源码分析】5. dubbo消费端 - ProxyFactory使用 Invoker创建消费端调用代理类
首先来看看proxyFactory: private static final ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension();根据 Adaptive类/com.alibaba.dubbo.rpc.ProxyFactory 之 Adap...原创 2018-04-13 13:01:23 · 1052 阅读 · 0 评论