摘要:
七Dubbo各模块的层次核心接口及组件类--6Proxy--RPC模块 7.6 Proxy(RPC模块) 服务代理层:实现服务接口的透明代理,生成服务的客户端stub和服务器端skeleton。 | 模块 | Dubbo层 | 各层核心接口 | | : : | : : | : : | | | Ser 阅读全文
posted @ 2023-03-13 14:56
LeasonXue
阅读(84)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--5Registry 7.5 Registry(Registry模块) registry层,封装服务地址URL的注册与发现,以服务URL为中心,扩展接口为RegistryFactory,Registry,RegistryService。 | 模块 | Dub 阅读全文
posted @ 2023-03-13 14:55
LeasonXue
阅读(47)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--4Cluster层-4.2LoadBalance(待完善) 7.4.4 LoadBalance 7.4.4.1 RandomLoadBalance 基于权重随机算法的 RandomLoadBalance 7.4.4.2 RoundRobinLoadBala 阅读全文
posted @ 2023-03-13 14:55
LeasonXue
阅读(64)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--4Cluster层--Cluster-Directory-Router 7.4 Cluster(Cluster模块) 路由层:封装多个提供者的路由及负载均衡,并桥接注册中心,以invoker为中心。 | 模块 | Dubbo层 | 各层核心接口 | | : 阅读全文
posted @ 2023-03-13 14:54
LeasonXue
阅读(41)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--3Protocol-RPC模块 7.3 Protocol(RPC模块) 远程调用层:封装rpc调用,以invocation和result为中心,扩展接口为protocol、invoker和exporter。 | 模块 | Dubbo层 | 各层核心接口 | 阅读全文
posted @ 2023-03-13 14:54
LeasonXue
阅读(169)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--2Exchange--Remoting模块 7.2 Exchange(remoting模块) 信息交换层:封装请求/响应模式,同步转异步,以request、response为中心,Exchanger 、ExchangeChannel ExchangeCli 阅读全文
posted @ 2023-03-13 14:53
LeasonXue
阅读(81)
评论(0)
推荐(0)
摘要:
七Dubbo各模块的层次核心接口及组件类--1Transport--Remoting模块 | 模块 | Dubbo层 | 各层核心接口 | | : : | : : | : : | | | Service | ServiceBean ReferanceBean | | dubbo-config | C 阅读全文
posted @ 2023-03-13 14:52
LeasonXue
阅读(98)
评论(0)
推荐(0)
摘要:
六Dubbo核心技术归纳--3Dubbo中Invoker的作用及转换 6.3 dubbo的核心模型Invoker Dubbo中invoker是provider和consumer实现RPC调用的关键,invoker的构建过程,是Dubbo服务的init初始化过程;invoker.invoke的调用是D 阅读全文
posted @ 2023-03-13 14:52
LeasonXue
阅读(1367)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--4网络处理-4.3consumer端接收响应 5.3.4 consumer端接收响应 然后,consumer端返回到DubboInvoker.doInvoke过程中 DubboInvoker @Override protected Result doInvoke(fi 阅读全文
posted @ 2023-03-13 14:52
LeasonXue
阅读(79)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--4网络处理-4.2provider端处理请求 5.3.3 provider端处理请求(请求消息处理) 在前述章节中,知道在NettyServer初始化过程中,向dubbo的底层netty通信框架的pipeline上添加了编解码handler、NettyHandler的 阅读全文
posted @ 2023-03-13 14:51
LeasonXue
阅读(158)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--4网络处理-4.1consumer端发送请求 5.3 服务请求网络处理(connect、received) 本章节中,主要分析的consumer< >provider两端底层通信过程中,关于provider端对于connect连接消息处理、consumer端发送请求、 阅读全文
posted @ 2023-03-13 14:50
LeasonXue
阅读(38)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--3服务引用-下 紧接上文,对服务引用源码分析: TAG 1.1.2 FailOverClusterInvoker.doInvoke()--cluster中调用服务 返回AbstractClusterInvoker.invoke() 上面挑选出了可以正常执行的invok 阅读全文
posted @ 2023-03-13 14:50
LeasonXue
阅读(44)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--3服务引用-上 5.2 服务引用 在服务引用的部分,同样首先把握整体架构,有个大致流程和方向的把握。在Dubbo官方使用者手册中,对集群容错的架构设计,可以通过其对服务引用的框架结构进行参考: https://dubbo.gitbooks.io/dubbo-user- 阅读全文
posted @ 2023-03-13 14:50
LeasonXue
阅读(60)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--2创建远程调用的代理-2.5开启consumer端NettyClient /**…………NettyClient--开启consumer端………… */ 此时url=dubbo://192.168.0.100:20880/com.alibaba.dubbo.demo.D 阅读全文
posted @ 2023-03-13 14:47
LeasonXue
阅读(40)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--2创建远程调用的代理-2.4DubboProtocol.refer 继续上篇文章内容,向下分析DubboProtocol.refer的源码: /**…………DubboProtocol.refer………………*/ INV InvokerDelegate(protocol 阅读全文
posted @ 2023-03-13 14:47
LeasonXue
阅读(37)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--2创建远程调用的代理-2.3zookeeperRegistry.subscribe订阅 /**…………………订阅-通知…………………… */ //REFER2.2.3.1 zookeeperRegistry.subscribe-订阅SUB listener参数是reg 阅读全文
posted @ 2023-03-13 14:46
LeasonXue
阅读(143)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--2创建远程调用的代理-2.2RegistryProtocol.refer /**…………RegistryProtocol.refer………………*/ REFER1 qos/filter/listener.refer QosProtocolWrapper @Overri 阅读全文
posted @ 2023-03-13 14:46
LeasonXue
阅读(90)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--2创建远程调用的代理-2.1ReferenceBean.getObject 5.1 创建远程调用的代理--getBean(DemoService.class)->getObject 在5.0消费端启动部分,已经分析了代理对象创建的时机: getBean(DemoSer 阅读全文
posted @ 2023-03-13 14:45
LeasonXue
阅读(41)
评论(0)
推荐(0)
摘要:
五Dubbo服务引用源码分析--1消费端启动 在消费端consumer引用服务进行分析时,首先看Dubbo的开发者手册,把握分析的切入点,并全局把握大致的流程。 1 服务消费的过程中,首先是引用配置的初始化--即ReferenceConfig初始化,需要加载consumer.xml配置信息,将ref 阅读全文
posted @ 2023-03-13 14:45
LeasonXue
阅读(169)
评论(0)
推荐(0)
摘要:
四Dubbo中Zookeeper注册中心 4.1 zk连接 4.2 zk创建节点 4.3 zk订阅 4.4 ZKClient使用 4.5 注册和订阅、通知解析--todo?? 阅读全文
posted @ 2023-03-13 14:44
LeasonXue
阅读(24)
评论(0)
推荐(0)
摘要:
三Dubbo服务暴露源码分析--3远程暴露-下 //PTC2.2.2 DubboProtocol.serverMap.put(key, createServer(url)) DubboProtocol private final Map<String, ExchangeServer> serverM 阅读全文
posted @ 2023-03-13 14:43
LeasonXue
阅读(74)
评论(0)
推荐(0)
摘要:
三Dubbo服务暴露源码分析--3远程暴露-中 紧接上文,分析PTC2.2.1.1 Exchangers.bind(url, requestHandler)-BIND的绑定操作: BIND1 ExchangeHandlerAdapter--处理client请求invoker.invoke(invoc 阅读全文
posted @ 2023-03-13 14:42
LeasonXue
阅读(95)
评论(0)
推荐(0)
摘要:
三Dubbo服务暴露源码分析--3远程暴露-上 3.2 远程暴露 在Dubbo开发者手册中,给出了服务调用的流程图如上。其中,圈住部分为provider端的远程服务暴露部分的主流程。后续的分析,可以对照流程图,把握执行方向。 ServiceConfig private void doExportUr 阅读全文
posted @ 2023-03-13 14:41
LeasonXue
阅读(61)
评论(0)
推荐(0)
摘要:
三Dubbo服务暴露源码分析--2本地暴露 3.1 本地暴露(exportLocal) ServiceConfig private void exportLocal(URL url) { //url中protocol如果不为injvm,重新设置URL为injvm://的协议头 if (!Consta 阅读全文
posted @ 2023-03-13 14:41
LeasonXue
阅读(107)
评论(0)
推荐(0)
摘要:
三Dubbo服务暴露源码分析--1服务端启动 分析provider端暴露原理,首先从官方文档找到总体的逻辑,在把握全局逻辑后,找到源码研究切入点,并顺藤摸瓜,后面的细节也就呼之欲出。 上述过程可知,provider端服务暴露的起点,是serviceConfig类。 服务暴露逻辑: 1 service 阅读全文
posted @ 2023-03-13 14:40
LeasonXue
阅读(133)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--6设计模式 2.6 设计模式 2.3.1 责任链模式 在[wrapper机制](#2.2 Wrapper机制)中使用到该模式。 1 责任链原型 (1)抽象出接口AbstractHandler 有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递, 阅读全文
posted @ 2023-03-13 14:38
LeasonXue
阅读(99)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--5Dubbo与Spring的融合 2.5.1 标签解析原理 spring使用过程会遇到各种标签元素进行解析,该功能与spring核心组件有关。而核心组件中springAOP、springBean、springContext都包含spring.handlers文件,文件内容表明 阅读全文
posted @ 2023-03-13 14:37
LeasonXue
阅读(106)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--4Dubbo-URL 2.4.1 Dubbo中的URL 一个标准的 URL 格式至多可以包含如下的几个部分 protocol://username:password@host:port/path?key=value&key=value 在 dubbo 中,也使用了类似的 UR 阅读全文
posted @ 2023-03-13 14:36
LeasonXue
阅读(132)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--3Mock机制和Stub机制 2.3.1 Mock机制 (https://maimai.cn/article/detail?fid=1414002536&efid=1ClnCEtvvjXp5j1knp2Trw) Cluster是一个通用代理类,会根据URL中的cluster参 阅读全文
posted @ 2023-03-13 14:35
LeasonXue
阅读(388)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--2Wrapper 2.2 Dubbo中Wrapper 注意,区别Dubbo中Wrapper.getWrapper和wrapper机制。前者用在provider端构造invoker时,javassist字节码方式,构建字节码——>>class对象——>>反射创建实例,构造目标服 阅读全文
posted @ 2023-03-13 14:35
LeasonXue
阅读(106)
评论(0)
推荐(0)
摘要:
二Dubbo设计基础--1扩展点加载 2.1 扩展点加载 2.1.1 java的SPI SPI是Service Provider Interfaces的简称。根据Java的SPI规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即Service Provider(服务提供者)。然后在使 阅读全文
posted @ 2023-03-13 14:34
LeasonXue
阅读(60)
评论(0)
推荐(0)
摘要:
一Dubbo架构设计 1.1结构设计 官网用户手册的介绍如下: https://dubbo.gitbooks.io/dubbo-user-book/content/demos/fault-tolerent-strategy.html 上述过程是服务调用call过程,consumer端invoker. 阅读全文
posted @ 2023-03-13 14:33
LeasonXue
阅读(84)
评论(0)
推荐(0)

浙公网安备 33010602011771号