概述
介绍
Dubbo的架构是基于分层来设计的,每层执行固定的功能,上层依赖下层,下层的改变对上层不可见,每层都是可以被替换的组件
Service和Config为API接口层,让Dubbo使用者方便的发布和引用服务
其他各层均为SPI层,意味着每层都是组件化的,可以被替换
例如,注册中心可以用Redis,Zookeeper。传输协议可以用dubbo,rmi,hessian等。
网络通信可以用mina,netty。序列化可以用fastjson,hessian2,java原生的方式等
SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能
那么Dubbo的SPI是怎么实现的呢?先来了解一下Java SPI
Java SPI
Java SPI是通过策略模式实现的,一个接口提供多个实现类,而使用哪个实现类不在程序中确定,而是配置文件配置的,具体步骤如下
- 定义接口及其对
最后
以上就是勤劳项链为你收集整理的Dubbo源码解析:5分钟了解 Dubbo SPI 的特性的全部内容,希望文章能够帮你解决Dubbo源码解析:5分钟了解 Dubbo SPI 的特性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复