开发者社区 > 云原生 > 中间件 > 正文

sentinel 控制台实际QPS超出流控规则是什么情况?

sentinel 控制台实际QPS超出流控规则是什么情况?

展开
收起
2401。 2023-08-27 17:32:08 86 0
1 条回答
写回答
取消 提交回答
  • 列举一下sentinel默认拒绝限流的流程

    1.判断前1s的流量(一个LeapArray维护)+1与设置的qps的大小,如果是>,则拒绝请求,否则放行请求。
    2.对于放行的请求,LeapArray流量+1

    上述的两个过程是没有任何加锁的。

    那么两个请求过来,可能同时均先执行1,均通过,之后再同时执行2。

    这种就出现了您刚刚描述的现象。 具体两个关键的代码位置com.alibaba.csp.sentinel.slots.block.flow.controller.DefaultController#canPass(com.alibaba.csp.sentinel.node.Node, int, boolean)和com.alibaba.csp.sentinel.slots.statistic.StatisticSlot#entry 此回答整理自钉群“Sentinel 开源讨论群-4群”。

    2023-08-28 21:39:13
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-使用Sentinel进行微服务流量控制 立即下载
Sentinel分布式系统下的流量防卫兵 立即下载
DTS控制台一本通 立即下载