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"
  }
]
相关推荐
Dicky-_-zhang10 小时前
微服务安全防护实战:OAuth2与JWT鉴权
java·jvm
未若君雅裁10 小时前
微服务限流实战:Nginx 漏桶与网关令牌桶
java·nginx·微服务
fai厅的秃头姐!10 小时前
2586. 统计范围内的元音字符串数
开发语言·c#
罗超驿10 小时前
1.JavaEE初阶学习安排+介绍计算机是如何工作的
java·学习·java-ee
超梦dasgg10 小时前
Java 生产环境 JVM 调优实战
java·开发语言·jvm
xyq202410 小时前
HTML DOM 访问
开发语言
phltxy11 小时前
RabbitMQ 工作模式与Java原生客户端案例
java·rabbitmq·java-rabbitmq
WL_Aurora11 小时前
Scala核心编程(二):变量与数据类型详解
开发语言·scala
极地星光11 小时前
源码依赖 vs 预编译二进制包:C/C++ 项目依赖管理决策指南
c语言·开发语言·c++