【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式
程序员文章站
2022-07-15 11:23:06
...
接着上篇的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就不会有限制