开发者社区 > 云原生 > 正文

网关流控规则针对请求属性设置规则变为普通全局限流的问题

问题说明:

网关流控规则` 针对请求URL参数设置流控规则,URL参数未匹配上,结果触发了普通限流:FlowException

类型:错误报告

1.发生了什么

--》 新建网关流控规则,针对请求属性Url参数进行设置规则 name=yzf,并1秒间隔内超过0次请求触发限流

2.期望发生

--》当请求的url上未携带name=yzf时,应该不触发限流,结果触发了限流FlowException

3.如何重现:

提问77.png

1)针对某一个路由设置一个如上图针对Url参数的网关流控规则

2)请求Url上不要携带Url参数 name=yzf,然后点击发送测试

3)会发现虽然是针对Url参数设置的流控规则,但是不带url参数的请求一样被限流

4.使用的环境: spring boot 2.3.5、spring cloud gateway是2.2.6

提问78.png

原提问者GitHub用户LingLingFeng

展开
收起
学习娃 2023-05-19 15:26:13 124 0
1 条回答
写回答
取消 提交回答
  • 访问 http://网关应用ip:网关应用机器列表里Sentinel的端口port/gateway/getRules http://网关应用ip:网关应用机器列表里Sentinel的端口port/getRules?type=flow 分别看看网关规则和普通流控规则

    我用项目里的sentinel-demo-spring-cloud-gateway测试,连接控制台,设置跟截图一样的规则,结果是正常的。

    多次访问:http://localhost:8090/httpbin/json?name=yzf,提示网关限流Blocked by Sentinel: ParamFlowException 而访问:http://localhost:8090/httpbin/json或http://localhost:8090/httpbin/json?name=yzf1没有出现限流。

    参考该demo检查对比看看

    原回答者GitHub用户cdfive

    2023-05-19 20:22:18
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

热门讨论

热门文章

相关电子书

更多
阿里云容器 AHAS Sentinel 网关流控揭秘 立即下载
阿里Tengine网关最佳实践 立即下载
《MSE 微服务网关》 立即下载