在Dubbo中,SPI是一个非常核心的机制,贯穿在几乎所有的流程中。
Dubbo是基于Java原生SPI机制思想的一个改进.
SPI全称(service provider interface),是JDK内置的一种服务提供发现机制,目前市面上有很多框架都是用它来做服务的扩展发现,大家耳熟能详的如JDBC、日志框架都有用到; 简单来说,它是一种动态替换发现的机制。举个简单的例子,如果我们定义了一个规范,需要第三方厂商去实现,那么对于我们应用方来说,只需要集成对应厂商的插件,既可以完成对应规范的实现机制。 形成一种插拔式的扩展手段。
实现SPI,就需要按照SPI本身定义的规范来进行配置,SPI规范如下
基于Dubbo提供的SPI规范实现自己的扩展 在了解Dubbo的SPI机制之前,先通过一段代码初步了解Dubbo的实现方式,这样,我们就能够形成一个对比,得到这两种实现方式的差异