前面一篇文章多次讲到SPI机制,本篇文章主要介绍下sentinel中使用到的SPI。如果对SPI不太懂,可以参考这篇文章
在sentinel-core模块的resources资源目录下,有一个 META-INF/services 目录,该目录下定义了sentinel的SPI扩展点,目前有以下三个,同时实现了自定义的SPI加载器SpiLoader,下面的扩展点都是使用这个加载器进行加载。
- com.alibaba.csp.sentinel.init.InitFunc:用于配置InitFunc接口的实现类
- com.alibaba.csp.sentinel.slotchain.SlotChainBuilder文件用于配置 SlotChainBuilder 接口的实现类
- com.alibaba.csp.sentinel.slotchain.ProcessorSlot:用于配置使用到的ProcessorSlot