源码解读三:ProcessSlot具体实现
文章目录
概述
在前面的文章中我们知道,通过入口类 Sph 的 entry 方法,首先是获得(或创建)本次请求的 Context ,然后获取当前资源对应的 ProcessorSlotChain ,将 ResourceWrapper、Context、ProcessorSlotChain 一起构建出 CtEntry 代表着本次对某个资源的访问。随后将 CtEntry 通过 ProcessorSlotChain 的处理,就完成了一次资源访问的流控检查。Sentinel 在框架中内置了 8 个 ProcessorSlot 实现,本文就按照系统处理的顺序,来逐一说明每一个 ProcessorSlot 的作用。
代码分析
先回顾下总体类图
NodeSelectorSlot
该类上的 SpiOrder 注解的值为 -10000。这个类的作用是为 Context 设置当前的节点,也就是设置一个 DefaultNode 实例。
上文说过,Def