
Dubbo
nihui123
现在在修炼中
展开
-
Dubbo源码分析系列-Dubbo的动态编译原理
导语 Java程序时运行在JVM中的Class文件,在一般的情况下都是把左右的Java文件编写完成之后,统一进行编译操作,做完编译操作之后,统一由JVM进行加载。而所谓的动态编译则是在JVM进程运行的过程中把源文件编译为字节码文件,然后使用字节码文件创建对象实例。在Dubbo中提供了一个SPI接口,通过这个接口来动态的生成对应的适配器类。下面就来看看在Dubbo中是如何生成这个适配器类 ...原创 2020-04-23 17:29:03 · 2402 阅读 · 0 评论 -
Dubbo源码分析笔记-一(工程目录介绍)
Dubbo 是阿里开发的分布式服务调用框架,提供了它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。工程目录模块介绍dubbo-common Dubbo通用模块,定义了业务无关的工具类例如io处理、日志处理、配置处理、类处理等等操作,以及对于线程池的扩展,二进制编码处理,class编译处理,json数据处理,数据持久化接口处理等等。dub...原创 2019-05-03 11:14:57 · 2085 阅读 · 0 评论 -
深入了解Java的SPI机制
导语 SPI的全名叫做Service Provider Interface,在java.util.ServiceLoader的文档中有详细的介绍,其核心思想与CallBack类似,Callback是在调用API的时候,可以写入一段逻辑代码传入到API中,API内部在合适的时候回调用它,从某种意义上来讲是实现了定制化。 我们首先来看一下关于JavaSPI的实现1.首先需要定义一个服务的...原创 2019-08-05 12:25:50 · 2633 阅读 · 0 评论 -
Dubbo源码分析系列之-整体架构设计
导语: 在了解一个框架的源码的时候,第一步要了解的就是源码的结构,接下来第二步需要了解的就是源码的架构,下面这张图在Dubbo官网上所展示的Dubbo的架构设计图。接下来就来详细的分析一下这张图。整体说明 从左右颜色的角度分析,浅蓝色的表示Consumer也就是服务消费者,浅绿色的表示Provider也就是服务提供者,这个是左右分离的越往两边说明对于服务提供者和服务消费者的调用越强...原创 2019-08-13 18:55:00 · 2879 阅读 · 0 评论 -
Dubbo源码分析系列-Dubbo调用拦截器扩展
导语: 在之前的博客中说到了Dubbo的整体设计架构,以及协议扩展原理。这篇博客中主要介绍关于Dubbo协议的扩展。对于服务提供方和服务消费方调用过程的拦截,Dubbo本身的大多功能都能在它提供的拦截器扩展点上实现,每一次的远程调用这个拦截器都会被实现。 Filter(过滤器)在很多的框架中都用到过这个概念,基本上的作用都是比较相似的,调用前或者调用之后做一些通用的配置处理。当然对于F...原创 2019-08-23 16:13:49 · 3359 阅读 · 0 评论 -
Dubbo源码分析系列-深入RPC协议扩展
导语 在之前的博客里面提到了关于扩展机制以及SPI的原理,这篇博客主要来讨论一下关于协议的扩展问题,在系统与系统之间通信就需要两个系统之间遵循相同的协议。而现在被熟知的常用的协议有TCP/IP协议、HTTP协议等等。在Dubbo中也提供了属于Dubbo的专属协议dubbo协议。下面就来详细的了解一下关于Dubbo协议。协议扩展简介 首先需要知道的Dubbo是基于RPC进行远程调用的框...原创 2019-08-20 10:25:24 · 2165 阅读 · 0 评论 -
Dubbo源码分析系列之-深入Dubbo扩展机制
导语: 在之前的博客中分析过Java的SPI机制,其实Dubbo的扩展点加载机制也是从JDK表中的SPI(Service Provider Interface)机制中开发而来,只不过在原生的基础上做了发现机制的增强处理。改进了如下的三个问题JDK的SPI机制会一次性的实例化所有的扩展点,也就是说数据一种饿汉式加载,在初始化的时候消耗比较大,但是有些资源被加载之后可能很少使用,所以就导致了...原创 2019-08-15 14:23:52 · 3053 阅读 · 0 评论 -
Dubbo源码分析系列-深入Dubbo SPI机制
导语 在之前的博客中介绍过关于Java中SPI的机制,也简单的分析了关于Java中SPI怎么去使用。SPI的全称Service Provider Interface,是一种服务发现机制。SPI的本质就是将接口实现类的全类名配置到文件中,通过类加载器来读取配置文件,从而达到类加载的目的。这样在运行的时候可以替换接口实现类。所以在很多的第三方框架中都使用到了这个技术。最为典型的就是关于日志的处理...原创 2019-08-16 15:33:07 · 2457 阅读 · 0 评论