您当前的位置: 首页 > 

暂无认证

  • 10浏览

    0关注

    94881博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Sentinel 兜底方法

发布时间:2022-10-13 10:24:36 ,浏览量:10

方式一:将兜底方法和控制器请求写在一起
@GetMapping("/fun3") @SentinelResource(value = "fun3",blockHandler = "fun3Handler") public String fun3() { return "fun3"; } //兜底方法 public String fun3Handler(BlockException ex){ //Sentinel提示信息 String canonicalName = ex.getClass().getCanonicalName(); return "兜底:fun3Handler "+canonicalName+" 服务不可用!"; } 

在Sentinel中配置限流规则:

注意:使用资源流限流,不要使用url限流。因为URL限流只会调用默认的方法,只有资源名限流,自定义兜底方法才能起作用。

在这里插入图片描述 在这里插入图片描述 高频访问fun3结果: 在这里插入图片描述

方法二:将兜底方法写到单独的类中
  • 兜底方法
public class MyBlockHandler { public static String handlerException(BlockException ex) { return "自定义全局的:BlockHandler"; } } 
  • 控制器请求方法
@GetMapping("/fun4") @SentinelResource(value = "fun4",blockHandlerClass = MyBlockHandler.class,blockHandler = "handlerException") public String fun4() { return "fun4"; } 

建议限流无则+测试,同方法一

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.2382s