dubbo
文章平均质量分 88
meilong_whpu
这个作者很懒,什么都没留下…
展开
-
Dubbo框架——整体架构
上图中,左边是serviceConsumer使用的接口和类;右边是serviceProvider使用的接口和类;中间是双方均要使用的接口和类。总体上将整个架构分成三大层,分别是Business层、RPC层、Remoting层。其中: Business层是应用层的接口和实现类,完成应用层的业务逻辑。对于消费端应用层则是利用config配置层的功能在实现类中调用Proxy层实现的...原创 2017-05-15 15:55:49 · 4237 阅读 · 1 评论 -
Dubbo——动态适配器类
部分接口的动态适配器类原创 2017-05-15 17:27:32 · 1129 阅读 · 0 评论 -
Dubbo——服务治理
服务治理Dubbo提供了集群部署、路由、负载均衡等容错机制,在客户端引用服务时,由MockClusterInvoker封装具体的集群策略类,默认是FailoverCluster类,具体逻辑见《4.4.2 远程引用服务》部分。由集群策略类将Directory中的多个Invoker伪装成一个Invoker,对上层调用端是透明的,不同的集群策略有不同的处理方式。主要流程基本是一致的。1)首先调用Mock...原创 2017-05-15 17:04:27 · 11926 阅读 · 2 评论 -
Dubbo——过滤器链
过滤器链各类协议protocol类均是由ProtocolFilterWrapper类封装的,ProtocolFilterWrapper在服务的暴露与引用的过程中根据KEY是PROVIDER还是CONSUMER来构建服务提供者与消费者的调用过滤器链。ProtocolFilterWrapper的export和refer方法代码如下:构建过滤器链的方法是buildInvokerChain,代码如下:在构...原创 2017-05-15 16:55:51 · 1910 阅读 · 0 评论 -
Dubbo——监听器链
监听器链 各类协议protocol类均是由ProtocolListenerWrapper类封装的,在服务的暴露和引用过程中,都是调用该类的export和refer方法,在这些方法中完成监听器链的创建。一、ExporterListenerProtocolListenerWrapper是在服务暴露时构建了监听器链,在服务暴露(exporter)的过程中调用监听器所提供的回调函数,Dubbo没有实现监...原创 2017-05-15 16:52:32 · 2170 阅读 · 0 评论 -
Dubbo——消费端调用
消费端调用1、在业务层代码中调用远程接口的方法时,实际上是调用的本地创建的代理对象。即在《4.4.3 创建服务类的本地代理》中创建的代理对象。2、在该代理对象中,调用了InvokerInvocationHander.invoke方法。远程调用以Invcation、Result为中心,在这个方法中根据调用的远程方法和传入的参数构建RpcInvcation对象,该对象中的成员变量包括远程调用的方法名、...原创 2017-05-15 16:48:13 · 3790 阅读 · 0 评论 -
Dubbo——Transport网络传输层
Transport网络传输层1请求/响应的处理流程NettyHandler:继承netty对象SimpleChannelHandler,重写了channelConnected、channelDisconnected、messageReceived、writeRequested、exceptionCaught方法,当netty的通道发生连接、断开连接、收到消息、写入消息、捕获异常等事件时触发Nett...原创 2017-05-15 16:45:36 · 2213 阅读 · 0 评论 -
Dubbo——Exchange信息交换层
Exchange信息交换层1、Exchange层的类分析ReferenceCountExchangeClient:将请求交HeaderExchangeClient处理,不进行任何其他操作。HeaderExchangeClient:提供心跳检查功能;将send、request、close等事件转由HeaderExchangeChannel处理,HeaderExchangeChannel对象中的Cha...原创 2017-05-15 16:40:06 · 1999 阅读 · 0 评论 -
Dubbo——各协议暴露和引用服务的逻辑
各协议暴露和引用服务的逻辑 目前Dubbox版本支持的协议有dubbo、injvm、rmi、hessian、thrift、memcached、redis、rest等九种,其中memcached和redis协议只支持服务引用不支持服务暴露;这些协议有的继承AbstractProxyProtocol类,有的实现了AbstractProtocol接口。服务暴露调用export方法,引用服务调用re...原创 2017-05-15 16:34:55 · 5387 阅读 · 1 评论 -
Dubbo——消费端启动过程分析
消费端启动过程分析1 触发服务引用过程 消费端的启动过程中,对服务引用由ReferenceBean类开始处理逻辑,该类继承了<dubbo:reference>标签对应的配置类ReferenceConfig,还实现了一系列Spring接口用于参与Spring容器的启动以及bean的创建过程中去。ServiceBean类实现了InitializingBean接口的afterP...原创 2017-05-15 16:24:25 · 5366 阅读 · 0 评论 -
Dubbo——服务端启动过程分析
服务端启动过程分析1 触发服务注册过程服务端的启动过程中,对服务暴露由ServiceBean类开始处理逻辑,该类继承了<dubbo:service>标签对应的配置类ServiceConfig,还实现了一系列Spring接口用于参与Spring容器的启动以及bean的创建过程中去。ServiceBean类实现了InitializingBean接口的afterPropertiesSet方...原创 2017-05-15 16:16:14 · 7359 阅读 · 0 评论 -
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 · 4596 阅读 · 1 评论