摘要:
限流规则有多种,他要根据你的规则和策略选择不同节点? 限流模式:直接、关联、链路 Node selectedNode = selectNodeByRequesterAndStrategy(rule, context, node); selectedNode 【直接、关联】获取的ClusterNode
阅读全文
posted @ 2025-06-11 17:24
桥泰
阅读(15)
推荐(0)
摘要:
热点参数限流 根据参数进行限流,对每个参数分别限流(比如orderId=100,101不同参数)参数索引,从0开始,0就是第一个参数单机阈值:5 统计窗口时长:1,表示1秒允许通过5个ParamFlowSlot com.alibaba.csp.sentinel.slots.block.flow.pa
阅读全文
posted @ 2025-06-10 22:57
桥泰
阅读(18)
推荐(0)
摘要:
SystemSlotcom.alibaba.csp.sentinel.slots.system.SystemSlot#entry SystemRuleManager.checkSystem(resourceWrapper); 1、校验Entrance节点的总入口qps 2、总线程 3、rt 4、lo
阅读全文
posted @ 2025-06-10 21:57
桥泰
阅读(12)
推荐(0)
摘要:
设置请求流控白名单 请求头添加请求来源,标识请求来源 AuthoritySlot com.alibaba.csp.sentinel.slots.block.authority.AuthoritySlot#entry this.checkBlackWhiteAuthority(resourceWrap
阅读全文
posted @ 2025-06-10 21:29
桥泰
阅读(12)
推荐(0)
摘要:
DefaultProcessorSlotChain数据统计插槽 NodeSelectorSlot(节点树创建出来,存数据) DefaultNode 统计当前链路的数据 ClusterBuilderSlot(节点树创建出来,存数据)ClusterNode 统计资源的所有链路数据 StatisticSl
阅读全文
posted @ 2025-06-10 21:14
桥泰
阅读(10)
推荐(0)
摘要:
只要资源被访问了,通过了,就统计加1,针对的是所有请求访问该资源。 com.alibaba.csp.sentinel.slots.statistic.StatisticSlot#entry this.fireEntry(context, resourceWrapper, node, count, p
阅读全文
posted @ 2025-06-10 18:42
桥泰
阅读(9)
推荐(0)
摘要:
1、 凡是资源都需要进入SphU.entry Env.sph.entryWithType CtSph.entry CtSph#entryWithPriority 每个资源都必须有一个处理链lookProcessChain(resourceWrapper) 每个资源通过newSlotChain()进行
阅读全文
posted @ 2025-06-10 16:58
桥泰
阅读(25)
推荐(0)
摘要:
创建controller,会初始化context,顺带的创建了EntranceNode spring-cloud-starter-alibaba-sentinel:2.2.6.RELEASSE META-INF spring.factories SentinelWebAutoConfiguratio
阅读全文
posted @ 2025-06-10 12:32
桥泰
阅读(13)
推荐(0)
摘要:
限流:判断qps达到阈值隔离:基于计数再判断,信号量降级:响应时间有没有达到阈值 资源:项目中定义的controller方法就是默认被sentinel保护的资源 1、NodeSelectorSlot调用链路构建,构建一棵调用链树每个EntranceNode可以是一个controller方法(入口资源
阅读全文
posted @ 2025-06-09 22:58
桥泰
阅读(33)
推荐(0)
摘要:
并发就是QPS,每秒处理请求量1、固定窗口计数器算法 将时间划分为多个窗口,窗口时间跨度为Interval,本例中1000ms统计每秒能处理的请求量,看我能处理多少量,再确定是否限流 2、滑动窗口计数器算法 问题1:1250 >2100,间隔850,放置了3个请求 切割的更细500ms变成250ms
阅读全文
posted @ 2025-06-09 17:28
桥泰
阅读(24)
推荐(0)