- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 Dubbo——扩展点加载机制
扩展点加载机制 只有标有@SPI注解的接口类才会查找扩展点的实现,依次从下面这三个路径读取扩展点文件:META-INF/dubbo/internal 、META-INF/dubbo/ 、META-INF/services/,其中dubbo内部实现的各种扩展文件都放在META-INF/dubbo/internal目录下面。 以com.alibaba.dubbo.rpc.ProxyFac...
2017-05-15 17:17:32 4638 1
原创 Dubbo——服务治理
服务治理Dubbo提供了集群部署、路由、负载均衡等容错机制,在客户端引用服务时,由MockClusterInvoker封装具体的集群策略类,默认是FailoverCluster类,具体逻辑见《4.4.2 远程引用服务》部分。由集群策略类将Directory中的多个Invoker伪装成一个Invoker,对上层调用端是透明的,不同的集群策略有不同的处理方式。主要流程基本是一致的。1)首先调用Mock...
2017-05-15 17:04:27 11959 2
原创 Dubbo——过滤器链
过滤器链各类协议protocol类均是由ProtocolFilterWrapper类封装的,ProtocolFilterWrapper在服务的暴露与引用的过程中根据KEY是PROVIDER还是CONSUMER来构建服务提供者与消费者的调用过滤器链。ProtocolFilterWrapper的export和refer方法代码如下:构建过滤器链的方法是buildInvokerChain,代码如下:在构...
2017-05-15 16:55:51 1952
原创 Dubbo——监听器链
监听器链 各类协议protocol类均是由ProtocolListenerWrapper类封装的,在服务的暴露和引用过程中,都是调用该类的export和refer方法,在这些方法中完成监听器链的创建。一、ExporterListenerProtocolListenerWrapper是在服务暴露时构建了监听器链,在服务暴露(exporter)的过程中调用监听器所提供的回调函数,Dubbo没有实现监...
2017-05-15 16:52:32 2218
原创 Dubbo——服务端接收请求的处理流程
服务端接收请求的处理流程在创建NettyServer对象时,初始化了NettyHandler对象,该对象中的ChannlHandler赋值为NettyServer对象。在接受到消息之后,调用NettyHandler.messageReceived方法,后续的调用链为:NettyServer—>MultiMessageHandler-->HeartbeatHandler—> AllC
2017-05-15 16:49:53 1482
原创 Dubbo——消费端调用
消费端调用1、在业务层代码中调用远程接口的方法时,实际上是调用的本地创建的代理对象。即在《4.4.3 创建服务类的本地代理》中创建的代理对象。2、在该代理对象中,调用了InvokerInvocationHander.invoke方法。远程调用以Invcation、Result为中心,在这个方法中根据调用的远程方法和传入的参数构建RpcInvcation对象,该对象中的成员变量包括远程调用的方法名、...
2017-05-15 16:48:13 3810
原创 Dubbo——Transport网络传输层
Transport网络传输层1请求/响应的处理流程NettyHandler:继承netty对象SimpleChannelHandler,重写了channelConnected、channelDisconnected、messageReceived、writeRequested、exceptionCaught方法,当netty的通道发生连接、断开连接、收到消息、写入消息、捕获异常等事件时触发Nett...
2017-05-15 16:45:36 2248
原创 Dubbo——Exchange信息交换层
Exchange信息交换层1、Exchange层的类分析ReferenceCountExchangeClient:将请求交HeaderExchangeClient处理,不进行任何其他操作。HeaderExchangeClient:提供心跳检查功能;将send、request、close等事件转由HeaderExchangeChannel处理,HeaderExchangeChannel对象中的Cha...
2017-05-15 16:40:06 2017
原创 Dubbo——各协议暴露和引用服务的逻辑
各协议暴露和引用服务的逻辑 目前Dubbox版本支持的协议有dubbo、injvm、rmi、hessian、thrift、memcached、redis、rest等九种,其中memcached和redis协议只支持服务引用不支持服务暴露;这些协议有的继承AbstractProxyProtocol类,有的实现了AbstractProtocol接口。服务暴露调用export方法,引用服务调用re...
2017-05-15 16:34:55 5408 1
原创 Dubbo——消费端启动过程分析
消费端启动过程分析1 触发服务引用过程 消费端的启动过程中,对服务引用由ReferenceBean类开始处理逻辑,该类继承了<dubbo:reference>标签对应的配置类ReferenceConfig,还实现了一系列Spring接口用于参与Spring容器的启动以及bean的创建过程中去。ServiceBean类实现了InitializingBean接口的afterP...
2017-05-15 16:24:25 5400
原创 Dubbo——服务端启动过程分析
服务端启动过程分析1 触发服务注册过程服务端的启动过程中,对服务暴露由ServiceBean类开始处理逻辑,该类继承了<dubbo:service>标签对应的配置类ServiceConfig,还实现了一系列Spring接口用于参与Spring容器的启动以及bean的创建过程中去。ServiceBean类实现了InitializingBean接口的afterPropertiesSet方...
2017-05-15 16:16:14 7385
原创 Dubbo——配置Dubbo的两种方法
配置Dubbo的两种方法1、基于XML配置Dubbo框架的原理Dubbo基于spring可扩展Schema为Business层提供了可配置化的支持。具体的设计步骤如下:一、设计配置属性和JavaBean上图为Dubbo设计的JavaBean,例如ServiceConfig即对应。 二、编写XSD文件三、编写NamespaceHandler
2017-05-15 16:04:52 2584
原创 Dubbo框架——整体架构
上图中,左边是serviceConsumer使用的接口和类;右边是serviceProvider使用的接口和类;中间是双方均要使用的接口和类。总体上将整个架构分成三大层,分别是Business层、RPC层、Remoting层。其中: Business层是应用层的接口和实现类,完成应用层的业务逻辑。对于消费端应用层则是利用config配置层的功能在实现类中调用Proxy层实现的...
2017-05-15 15:55:49 4257 1
原创 在Eclipse中启动RocketMQ的方法
RocketMQ的源码工程下载路径: http://download.csdn.net/detail/meilong_whpu/98427461、broker 的启动类 : com.alibaba.rocketmq.broker.BrokerStartup,配置debug Application,参数如下,IP为本机地址2、Namesrv的启动类:NamesrvSt
2017-05-15 15:35:50 3901 1
金融分布式账本技术安全规范.pdf
2020-02-26
RocketMQ技术讲解V2.0
2017-08-08
RocketMQ-3.2.6源码工程
2017-05-15
struts-2.3.1.2源码
2012-07-14
xwork-core-source-2.3.1.2源码
2012-07-14
struts-2.3.1.2源码依赖的所有jar包
2012-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人