DegradeSlot 降级插槽
摘要:新增降级规则 熔断时长:open状态持续时长 DegradeSlot com.alibaba.csp.sentinel.slots.block.degrade.DegradeSlot#performChecking 慢调用 ResponseTimeCircuitBreaker 异常调用 Except
阅读全文
FlowSlot 漏桶算法
摘要:WarmUpController 是QPS动态变化,一开始把qps限制低一点,后面再慢慢把qps限制高一点 RateLimiterController :排队等待模式,基于漏桶算法 固定速率的放行 com.alibaba.csp.sentinel.slots.block.flow.controlle
阅读全文
FlowSlot
摘要:限流规则有多种,他要根据你的规则和策略选择不同节点? 限流模式:直接、关联、链路 Node selectedNode = selectNodeByRequesterAndStrategy(rule, context, node); selectedNode 【直接、关联】获取的ClusterNode
阅读全文
热点参数限流
摘要:热点参数限流 根据参数进行限流,对每个参数分别限流(比如orderId=100,101不同参数)参数索引,从0开始,0就是第一个参数单机阈值:5 统计窗口时长:1,表示1秒允许通过5个ParamFlowSlot com.alibaba.csp.sentinel.slots.block.flow.pa
阅读全文
SystemSlot系统插槽
摘要:SystemSlotcom.alibaba.csp.sentinel.slots.system.SystemSlot#entry SystemRuleManager.checkSystem(resourceWrapper); 1、校验Entrance节点的总入口qps 2、总线程 3、rt 4、lo
阅读全文
AuthoritySlot授权插槽
摘要:设置请求流控白名单 请求头添加请求来源,标识请求来源 AuthoritySlot com.alibaba.csp.sentinel.slots.block.authority.AuthoritySlot#entry this.checkBlackWhiteAuthority(resourceWrap
阅读全文
sentinel数据统计插槽
摘要:DefaultProcessorSlotChain数据统计插槽 NodeSelectorSlot(节点树创建出来,存数据) DefaultNode 统计当前链路的数据 ClusterBuilderSlot(节点树创建出来,存数据)ClusterNode 统计资源的所有链路数据 StatisticSl
阅读全文
StatisticSlot统计插槽
摘要:只要资源被访问了,通过了,就统计加1,针对的是所有请求访问该资源。 com.alibaba.csp.sentinel.slots.statistic.StatisticSlot#entry this.fireEntry(context, resourceWrapper, node, count, p
阅读全文
sentinel的entry资源代码处理
摘要:1、 凡是资源都需要进入SphU.entry Env.sph.entryWithType CtSph.entry CtSph#entryWithPriority 每个资源都必须有一个处理链lookProcessChain(resourceWrapper) 每个资源通过newSlotChain()进行
阅读全文
sentinel核心流程api综合分析
摘要:创建controller,会初始化context,顺带的创建了EntranceNode spring-cloud-starter-alibaba-sentinel:2.2.6.RELEASSE META-INF spring.factories SentinelWebAutoConfiguratio
阅读全文
sentinel的实现原理+数据结构
摘要:限流:判断qps达到阈值隔离:基于计数再判断,信号量降级:响应时间有没有达到阈值 资源:项目中定义的controller方法就是默认被sentinel保护的资源 1、NodeSelectorSlot调用链路构建,构建一棵调用链树每个EntranceNode可以是一个controller方法(入口资源
阅读全文