在Sentinel中,一般会在调用目标资源之前先调用SphU类的entry方法来创建资源入口,sentinel的功能都被封装在里面,本文就来分析一下这里面到底做了什么事情。

FlowSlot插槽用于实现流控检查,根据统计插槽中统计的数据来实现限流。Sentinel默认支持3种流控模式(直接、关联和链路)和3种流控效果(快速失败、Warm Up和排队等待)。本文就来分析一下这些功能是怎么实现的。

在sentinel中,StatisticSlot用于资源统计,与时间相关的资源则采用滑动窗口来实现,其他资源则采用普通的计数器。本文来分析一下这个插槽的工作原理。

DegradleSlot负责熔断降级,支持异常熔断和慢请求熔断,异常熔断又支持异常数量和异常比例两种策略。本文就来分析一下降级插槽和熔断器的工作原理。

在sentinel中,节点用于资源统计,有两种节点类型,默认节点(DefaultNode)和集群节点(ClusterNode),而入口节点(EntranceNode)是默认节点的子类型。入口节点是在创建上下文的时候创建的,而在插槽链的执行过程中,会创建默认节点和集群节点。