接着上篇的header模式,有时候会想到能不能通过url参数来限流呢,sentinel也是支持的。

分析URL这种模式
通过调试我发现,通过url添加参数名称为type,值为warn,sentinel也会埋点。
rules.add(new GatewayFlowRule("httpbin_route")
.setCount(1)
.setIntervalSec(1)
.setParamItem(new GatewayParamFlowItem()
.setParseStrategy(SentinelGatewayConstants.PARAM_PARSE_STRATEGY_URL_PARAM)
.setFieldName("type")
.setPattern("warn")
.setMatchStrategy(SentinelGatewayConstants.PARAM_MATCH_STRATEGY_EXACT)
)
);
试下sentinel能否配置

[
{
"resource": "consumer_server",
"count": 2,
"controlBehavior":2,
"paramItem": {
"parseStrategy": 3,
"fieldName": "type",
"pattern": "warn",
"matchStrategy":0
}
}
]
测试
-
频繁访问http://localhost:28080/service-consumer-fallback-sentinel/helloByFeign?type=warn,并且参数添加type这个字段,值为warn会发现

-
如果没有type这个字段或者type不是warn就不会有限制
Sentinel URL参数限流实践
本文探讨了如何使用Sentinel进行URL参数限流,通过具体示例展示了如何设置资源名、限流计数、控制行为及参数项,实现对特定URL参数的精确流量控制。
1068

被折叠的 条评论
为什么被折叠?



