欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式

程序员文章站 2022-07-15 11:23:06
...

接着上篇的header模式,有时候会想到能不能通过url参数来限流呢,sentinel也是支持的。
【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式

分析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能否配置

【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式

[
  {
    "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会发现
    【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式

  • 如果没有type这个字段或者type不是warn就不会有限制

相关标签: sentinel