摘要:
前言在日常工作中,我们经常会接触到长连接这个概念,例如一些RPC框架(如Dubbo)、网络通信框架(Netty)等,都会涉及到长连接的概念,我们来探究一下长连接是如何保活的。 长连接&短连接首先我们要知道,TCP本身是没有长连接和短连接的区分的,长短与否完全取决于我们怎么用它。 长连接和短连接的简单 阅读全文
摘要:
我们在阅读dubbo源代码的时候经常会看到ExtensionLoader这个类的身影,命名上我们就可以看出它是一个扩展的加载器,在分析源码之前,读者可以首先去dubbo的官方文档中看一下关于扩展点加载的介绍,对ExtensionLoader先有一个初步的认识,便于更好的理解源码,下面我们就以Prot 阅读全文
摘要:
dubbo 的服务由 ServiceBean 暴露,ServiceBean的层次结构: ServiceBean 实现了 InitializingBean,InitializingBean 接口的作用不必多说,实现了 InitializingBean 的 bean ,Spring 会在填充 bean 阅读全文
摘要:
正文注册中心是Dubbo的重要组成部分,主要用于服务的注册与发现,我们可以选择Redis、数据库、Zookeeper作为Dubbo的注册中心,Dubbo推荐用户使用Zookeeper作为注册中心,在provider和consumer的初始化过程中,我们看到了dubbo通过调用RegistryFact 阅读全文
摘要:
承接provider初始化篇,本篇文章我们来分析provider的暴露过程。ServiceConfig: private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> registryURLs) { St 阅读全文
摘要:
在之前的源码分析文章中,我们看到了dubbo用netty作为底层的网络通信框架,熟悉netty的同学应该知道,使用netty时我们会使用它的各种Handler作为处理一些网络事件的处理器,在开启netty服务时,dubbo添加了NettyHandler作为处理器,pipeline.addLast(" 阅读全文
摘要:
在分析consumer初始化时,我们看到了关联服务引用创建代理的过程,最终会调用JavassistProxyFactory的getProxy方法来创建代理,并用InvokerInvocationHandler对Invoker进行了包装,InvokerInvocationHandler实现了JDK的I 阅读全文
摘要:
我们知道,dubbo的生产者和消费者的关系维护在注册中心,所以,消费者关联生产者肯定是需要订阅注册中心的相关生产者信息才能完成,在Dubbo源码解析之registry注册中心这篇文章中我们分析了dubbo有关注册中心的一些操作如注册、订阅等,在文章的最后,我们分析了消费者订阅注册中心的configu 阅读全文
摘要:
dubbo的consumer由ReferenceBean初始化,我们先来看一下这个类的层次结构: 我们看到ReferenceBean实现了InitializingBean,所以我们先来看一下它的afterPropertiesSet方法实现:ReferenceBean: public void aft 阅读全文
摘要:
正文分析dubbo源码需要读者对Spring自定义标签解析的知识有所了解,可以阅读笔者相关文章进行学习,详见http://blog.csdn.net/heroqiang/article/details/78611213。 文章中介绍的一些配置的使用我们可以从http://dubbo.apache.o 阅读全文