Dubbo
jason07409
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Dubbo源码分析(二)Invocation
本文将主要围绕Invocation这个抽象概念进行讲解,首先来看一下相关的类图结构。整体概念Invocation,一次具体的调用,包含方法名、参数类型、参数Result,一次调用结果,包含value和exceptionInvoker,调用者,对应一个服务接口,通过invoke方法执行调用,参数为Invocation,返回值为ResultDubboIn转载 2016-06-29 10:57:04 · 1971 阅读 · 0 评论 -
Dubbo源码分析(一)启动Provider
Dubbo是阿里巴巴开源的一个分布式服务框架,在阿里内部和其他公司都有广泛的应用,是目前比较成熟的一个服务框架。笔者将从源码层面对Dubbo进行分析,学习其中优秀的设计。经过数年的沉淀,Dubbo整体的设计和抽象已非常完善,这里介绍的Provider启动就涉及到了多个抽象模型。本文使用的版本为2.5.3。首先,当发布一个服务的Server时,我们需要编写一个Spring配置文件。转载 2016-06-29 10:50:48 · 1398 阅读 · 1 评论 -
Dubbo源码分析(三)Exchanger
在一个框架中我们通常把负责数据交换和网络通信的组件叫做Exchanger。Dubbo中每个Invoker都维护了一个ExchangeClient的引用,并通过它和远程的Server进行通信。整个与ExchangeClient相关的类图如下其中包含了remoting相关的接口定义。个人觉得这个接口设计有些过于发杂,但为了可以展示全貌还是把全部内容都画了进去。ExchangeC转载 2016-06-29 10:57:56 · 1092 阅读 · 0 评论 -
Dubbo源码分析(四)Handler & Filter
本文将主要介绍Server端处理一次请求的流程,同时讲解一个比较巧妙的设计——Filter。根据前面的分析我们可以推断出Server端处理网络通信的组件为NettyServer,对应处理具体事件的handler为NettyHandler,它的构造函数需要一个ChannelHandler的参数,这里传递的就是NettyServer实例的引用。这样一来,handler对messageRecei转载 2016-06-29 10:59:08 · 976 阅读 · 0 评论 -
Dubbo源码分析(五)ExtensionLoader
ExtensionLoader是Dubbo中很有特色的一个设计,它的作用是为框架提供各种组件的扩展点,可以在应用运行时来决定使用哪个组件。对扩展点组件的描述是通过注解的方式实现的,包括3个主要的注解:SPIAdaptiveActivate我们先从注解的含义来理解ExtensionLoaderSPISPI.java转载 2016-06-29 10:59:48 · 733 阅读 · 0 评论
分享