在创建熔断规则时:
如果一个接口上又使用了@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"
}
]