sentinel创建规则时的坑

在创建熔断规则时:

如果一个接口上又使用了@SentinelResource(value="")注解,这相当于将这个接口统计为两个资源(默认识别的接口资源;和@Sentinel....标记的资源),接口上会记录QPS数量,但是方法中异常数都会记录在注解指定的资源上面

复制代码
    @SentinelResource(value = "killOrder",fallback="killOrderFallBack")
    @GetMapping("/killOrder")
    public Order killOrder(@RequestParam("userId") Integer userId,
                             @RequestParam("productId") Integer productId){
        Order order = orderService.createOrder(userId,productId);
        int i=1/0;
    }

原因:请求先经过接口资源,然后进入注解标记的资源,这是两个资源点位,所以方法中的异常都记录到了最近的点位中去,但是所有请求都会经过接口资源,所以接口资源处也会记录QPS请求数量和响应时间(RT),注解资源处也会记录QPS

复制代码
/order/killOrder Entry
    ↓
进入 killOrder Entry
    ↓
执行方法
    ↓
发生异常
链路规则:

入口资源:该链路中第一个进入的资源----(写其他资源都是错误的,不会生效)

复制代码
[
  {
    "resource": "1111",
    "grade": 1,
    "count": 2,
    "limitApp": "default",
    "strategy": 2,
    "controlBehavior": 0,
    "refResource": "/order/killOrder"
  }
]
相关推荐
IT 行者1 分钟前
GitHub Spec Kit 实战(三):写一份能管住所有 spec 的 /speckit.constitution
java·github·ai编程·claude
java1234_小锋1 分钟前
Spring Boot 的核心注解 @SpringBootApplication 由哪三个注解组成?
java·spring boot·后端
::呵呵哒::1 分钟前
在macOS/Linux上优雅管理多个JDK版本:环境变量与别名配置指南
java·linux·macos
IT 行者4 分钟前
GitHub Spec Kit 实战(二):写一份不偏的 /speckit.specify
java·github·ai编程·claude
就改了7 分钟前
ElasticsearchRestTemplate使用方法详解!!!
java·elasticsearch·springboot
踏着七彩祥云的小丑9 分钟前
Go学习第8天:接口 + 泛型 + 错误处理
开发语言·学习·golang·go
聆风吟º11 分钟前
Python基础数据类型(一):数字类型
开发语言·python·float·int·bool·数字类型
独隅13 分钟前
IntelliJ IDEA 在 Linux 上的完整安装与使用指南
java·linux·intellij-idea
SimonKing14 分钟前
别再自己写脚本了!DeepSeek三秒生成,豆包直接出片
java·后端·程序员
小灰灰搞电子19 分钟前
C++ boost::container 详解:高性能容器库完全指南
开发语言·c++·boost