随笔分类 - Dubbo源码分布解析
摘要:前言 在上一节中,我们分析了Dubbo根据RegistryUrl获取到了Registry实例对象,并根据providerUrl注册了Provider的服务地址信息节点,现在我们继续查看服务地址变化的情况下的监听服务是如何工作的? 监听服务的绑定时机 第一个红框中是服务地址注册,第二个红框是监听服务的
阅读全文
摘要:服务的注册时机 在serviceConfig的doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List registryURLs)方法中,根据协议配置和注册中心地址进行接口服务的发布,在方法执行过程中,根据URL的协议配置进行不同扩展点
阅读全文
摘要:服务的启动时机 经过前面的分析,dubbo经过url协议的解析,首先在本地发布一个injvm协议的调用者Invoker实例,然后经过本地服务暴露,获取一个exporter;然后获取dubbo协议实例,获取dubbo协议的invoker,然后调用DubboProtocol的export暴露服务,在暴露
阅读全文
摘要:#接收请求 服务端接收请求以后,我们从一个Handler看起,因为Netty的处理核心为Handler,因为我们找到了InternalDecoder,消息经过处理后,调用了Channels.fireMessageReceived()方法 final class NettyCodecAdapter {
阅读全文
摘要:初始调用 我们从controller开始看起,当我们发起一个request请求的时候,controller调用的是service,此处我们调用的dubbo引用服务的代理类 IUserService是一个接口,实际调用的是一个代理类,我们接着往下看: @RestController @RequestM
阅读全文
摘要:服务启动的过程类似于Dubbo发布过程中,服务发布启动的过程,现在我们直接进入到服务调用的核心模块ReferenceBean进行分析: 首先是afterPropertiesSet()方法,是IUserService在初始化之后,进行一个回调处理 public abstract class Abstr
阅读全文
摘要:##扩展点的功能 为什么Dubbo要引入扩展点加载功能呢?根本性上是从Dubbo的驱动方式上考虑出发的。Dubbo是基于URL驱动的。譬如我们发布一个Dubbo服务,提供了一个服务者,在一个提供服务接口的同时,我们会提供诸如使用什么协议(Dubbo)、什么注册中心RegistryProtocol(z
阅读全文
摘要:加载完beanDefinitions后,开始执行onrefresh()等方法。随后在finishBeanFactoryInitialization(beanFactory)方法中,对加载的BeanDefinition进行实例化和初始化。调用了beanFactory.freezeConfigurati
阅读全文

浙公网安备 33010602011771号