利用SPI机制进行插件解耦

[toc] hello,大家好,我是聪聪。 最近在重构一款底层数据加解密中间件,里面有一些内容需要解耦: 针对不同数据源处理单独,MySQL、MongoDB、ES数据源进行加解密处理。 可插拔扩展不同加解密算法。 兼容不同日志框架做数据脱敏,自定义客制化脱敏规则。 在这里设想通过SPI机制,让接入业务方可进行插件客制化扩展。 中间件内提供业务通用AES加解密方法,同时 ...

Dubbo-ExtensionLoader

[[toc]] 扩展点加载机制 > Dubbo的扩展点加载来自于JDK的标准SPI(Service Provider Interface)扩展点发现机制,并对其进行加强。 来自Dubbo官网的描述,Dubbo改进了JDK标准SPI,并且解决了一下问题: JDK标准的SPI会一次性实例化扩展点所有实现,如果扩展实现初始化很耗时,但如果没有用上也加载就会很浪费资源。 如果扩展点加 ...