使用 springcloud.alibaba 的Sentinel 时,进行流控规则配置时,资源名的填写方式不同造成不同的显示效果

    技术2026-03-26  11

    文章目录

    一、 问题二、示例说明1、资源名设置为 URL的值: /rateLimit/byUrl2、资源名设置为 `@SentinelResource` 的值: byUrl 三、总结

    一、 问题

    使用 springcloud.alibaba 的Sentinel 时,在 Sentinel 控制台,进行流控规则 配置 时,资源名 有两种填写方式:

    请求的 URL (对应的 @GetMapping 、RequestMapping 的 value 值)@SentinelResource 的 value 值

    但是两种配置有明显的区别。

    二、示例说明

    1、资源名设置为 URL的值: /rateLimit/byUrl

    在 Sentinel 控制台,流控规则的配置如下:

    超过阈值请求时,

    Blocked by Sentinel (flow limiting)

    2、资源名设置为 @SentinelResource 的值: byUrl

    在 Sentinel 控制台,流控规则的配置如下:

    超过阈值请求时,

    并且后台抛出异常信息:

    com.alibaba.csp.sentinel.slots.block.flow.FlowException: null

    三、总结

    上面总结的是超过限流规则时的默认显示效果, 实际开发中超过阈值时,我们要使用@SentinelResource() 注释 定义一些兜底的方法。

    Processed: 0.035, SQL: 10