Dubbo
william_cr7
你只有十分努力,才能配得上你的梦想!
展开
-
Dubbo源码分析之SPI扩展机制
1. jdk spi扩展机制1.1spi是什么?spi是service provider interface,是JDK内置的一种服务提供发现机制。它是针对厂商或插件来进行服务扩展发现的,像JDBC、日志框架等都有用的。简单来说,它是一种动态替换发现的机制。举个简单的例子,如果我们定义了一个规范,需要第三方厂商去实现,那么对于我们应用方来说,只需要集成对应厂商的插件,既可以完成对应规范的实...原创 2019-07-30 22:01:02 · 322 阅读 · 0 评论 -
Dubbo源码分析之ExtensionLoader原理
ExtensionLoader是dubbo实现SPI的核心类。ExtentionLoader的逻辑入口可以分为getExtension、getAdaptiveExtension、getActivateExtension三个。分别是普通扩展类、自适应扩展类、和激活扩展类。1. getExtension实现原理方法逻辑:先通过参数name判断是否为true,不为true再通过#createEx...原创 2019-08-31 22:20:49 · 634 阅读 · 0 评论 -
Dubbo源码分析之服务发布原理
Dubbo 的接入实现 Dubbo 中 spring 扩展就是使用 spring 的自定义类型,所以同样也有 NamespaceHandler、BeanDefinitionParser。而 NamespaceHandler 是 DubboNamespaceHandler BeanDefinitionParser 全部都使用了 DubboBeanDefinitionParser,如...原创 2019-08-31 22:26:31 · 361 阅读 · 0 评论 -
Dubbo源码分析之服务注册原理
getRegistry 1. 把url转化为对应配置的注册中心的具体协议 2. 根据具体协议,从registryFactory中获得指定的注册中心实现 那么这个registryFactory具体是怎么赋值的呢? final URL registeredProviderUrl = getRegisteredProviderUrl(providerUrl, registryUrl)...原创 2019-08-31 22:36:20 · 543 阅读 · 0 评论 -
Dubbo源码分析之服务消费实现
消费端的代码解析是从下面这段代码开始的 <dubbo:reference id="xxxService" interface="xxx.xxx.Service"/> 注解的方式的初始化入口是 ReferenceConfifig.get public synchronized T get() { checkAndUpdateSubConfigs(); //检查和修改配...原创 2019-08-31 22:44:51 · 488 阅读 · 0 评论 -
Dubbo源码分析之zookeeper注册中心
1.ZookeeperRegistryFactorycom.alibaba.dubbo.registry.zookeeper.ZookeeperRegistryFactory,实现 AbstractRegistryFactory 抽象类,Zookeeper Registry 工厂。代码如下: public class ZookeeperRegistryFactory extend...原创 2019-08-31 22:48:03 · 372 阅读 · 0 评论 -
Dubbo源码分析之XML配置解析
1. 基于schema解析 dubbo的配置约束文件在dubbo-config/dubbbo-config-spring/src/main/resources/dubbo.xsd中。dubbo.xsd文件用来约束使用xml配置时的标签和属性。Spring在解析到自定义的namespace标签时,会查找META-INF下的spring.handlers和spring.schema...原创 2019-09-01 15:16:47 · 618 阅读 · 0 评论