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

本文探讨了如何使用Sentinel进行URL参数限流,通过具体示例展示了如何设置资源名、限流计数、控制行为及参数项,实现对特定URL参数的精确流量控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上篇的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就不会有限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值