首页 > 其他分享 >Sentinel 兜底方法

Sentinel 兜底方法

时间:2022-10-13 10:34:27浏览次数:36  
标签:兜底 String fun3 限流 Sentinel 方法 public

方式一:将兜底方法和控制器请求写在一起

@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";
}

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

标签:兜底,String,fun3,限流,Sentinel,方法,public
From: https://blog.51cto.com/lianghecai/5752531

相关文章

  • idea终端无法直接使用mvn指令的解决方法
    打开终端:view–toolwindows–terminalorAlt+F12配置你idea中的maven的环境变量,先说maven在idea中的位置,在你idea安装目录下的\plugins\maven接下来配置环境变量:在你的......
  • 1363的美食 方法记录
    1363的美食题目背景1363看到一个送分题,于是他宣布上不了70分就吃()。题目描述然而他发现题目其实有点东西,于是他爆炸了,零分。于是他开始吃(),现在他有两个\(n×m\)的矩......
  • jdk8中optional的orElse和orElseGet、orElseThrow方法具有什么功能呢?
    转自:http://www.java265.com/JavaCourse/202206/3724.htmlOptional简介Optional是java8中新增的API用于完美解决空指针异常使用Optional类可避免显式的空值判断......
  • 对象、构造方法
    构造方法Python类可以使用:__init__()方法,称之为构造方法。可以实现:在创建类对象(构造类)的时候,会自动执行。在创建类对象(构造类)的时候,将传入参数自动传递给__init__......
  • 成员变量、成员方法
    成员变量成员方法定义成员方法self关键字是成员方法定义的时候,必须填写的。它用来表示类对象自身的意思当我们使用类对象调用方法的是,self会自动被python......
  • 手写 call 方法
    手写一个call函数call()方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法。举个栗子:varfoo={value:1};functionbar(){......
  • 频率响应分析方法
     摘要:大家知道电感的阻抗为什么是\(jwL\)吗?滤波器的截止频率为什么是\(\frac1{2\piRC}\)吗?本文将从复数的概念给大家推导出电感(容)的阻抗公式,并进一步以滤波器为例给大......
  • C#中的方法
    普通方法的定义:无参无返回值。voidsun(){Console.WriteLine("这是一个函数,也叫一个方法(无参无返回值)");}sun();//在同一个类中,不需要实例化,即可直接调用,这种叫......
  • 【MySQL】MySQL 执行包含创建变量的存储过程需要执行两次的解决方法
    代码:报错代码设置mysql分隔符为//delimiter//dropprocedureifexistswhile1;createprocedurewhile1()begindeclareiintdefault0;seti=0;whilei<......
  • 极米投影仪安装apk的方法
    https://www.touying.com/t-37871-1.html 方法二:使用U盘安装:1.使用电脑下载软件apk,并将软件apk的后缀修改为“apk1”;2.然后将后缀为apk1的安装包文件拷贝到U盘,将U盘接......