不使用@SentinelResource
注解:
@GetMapping("/testA")
public String testA() {
// try { TimeUnit.MILLISECONDS.sleep(800);} catch (InterruptedException e) { e.printStackTrace();}
return "-------------------testA";
}
使用@SentinelResource
注解:
@GetMapping("/byResource")
@SentinelResource(value = "byResource", blockHandler = "handle_byResource")
public CommonResult<Payment> byResource() {
return new CommonResult<>(200, "按資源名稱 限流測(cè)試", new Payment(1000L, "No0000001", new Date()));
}
public CommonResult<Payment> handle_byResource(BlockException e) {
return new CommonResult<>(444, e.getClass().getCanonicalName() + "\t 服務(wù)不可用");
}
Sentinel控制臺(tái)簇點(diǎn)鏈路:
注意判帮,除了
@GetMapping
注解中的value值, @SentinelResource
注解中的value值同樣被添加進(jìn)入資源列表
此時(shí)配置流控等規(guī)則時(shí)肪康,應(yīng)配置@SentinelResource
注解中的value值霜旧,即例子中的byResource
冯吓!
or
區(qū)別于不使用@SentinelResource
注解的