dubbo如何通过何种机制实现其可扩展性的提升?(二)

2026-05-25 05:360阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4007个文字,预计阅读时间需要17分钟。

dubbo如何通过何种机制实现其可扩展性的提升?(二)

牛批的框架,看似复杂,思路其实很清晰。本文上篇章节,在整体思路扩展上进行了源码分析,比较了粗细,现在就某些点再详细梳理下。关于Dubbo SPI的扩展,基于一类、三注解。一类,即接口类;三注解,分别是@SPI、@Adaptive、@Reference。

牛逼的框架,看似复杂难懂,思路其实很清晰。---me


上篇文章,在整体扩展思路上进行了源码分析,比较粗糙,现在就某些点再详细梳理下。

dubbo SPi的扩展,基于一类、三注解。

  • 一类是ExtensionLoader类
  • 三注解是@SPI、@Adaptive、@Activate

本文总结dubbo是如何使用ExtensionLoader实现扩展的,详细看看它是怎么设计的,为何这样设计?

1.ExtensionLoader属性

首先是ExtensionLoader包含的属性,如下。

主要包含常量定义(如dubbo SPi路径META-INF/services/等)、加载的类型type、一系列缓存容器。

2. dubbo是如何加载SPI扩展类的呢?是一次性把所有的扩展都读到内存中吗?

当然不是,dubbo不是一次性把所有的SPI扩展文件都加载。而是根据类型,即type,进行加载。

阅读全文
标签:框架

本文共计4007个文字,预计阅读时间需要17分钟。

dubbo如何通过何种机制实现其可扩展性的提升?(二)

牛批的框架,看似复杂,思路其实很清晰。本文上篇章节,在整体思路扩展上进行了源码分析,比较了粗细,现在就某些点再详细梳理下。关于Dubbo SPI的扩展,基于一类、三注解。一类,即接口类;三注解,分别是@SPI、@Adaptive、@Reference。

牛逼的框架,看似复杂难懂,思路其实很清晰。---me


上篇文章,在整体扩展思路上进行了源码分析,比较粗糙,现在就某些点再详细梳理下。

dubbo SPi的扩展,基于一类、三注解。

  • 一类是ExtensionLoader类
  • 三注解是@SPI、@Adaptive、@Activate

本文总结dubbo是如何使用ExtensionLoader实现扩展的,详细看看它是怎么设计的,为何这样设计?

1.ExtensionLoader属性

首先是ExtensionLoader包含的属性,如下。

主要包含常量定义(如dubbo SPi路径META-INF/services/等)、加载的类型type、一系列缓存容器。

2. dubbo是如何加载SPI扩展类的呢?是一次性把所有的扩展都读到内存中吗?

当然不是,dubbo不是一次性把所有的SPI扩展文件都加载。而是根据类型,即type,进行加载。

阅读全文
标签:框架