0
点赞
收藏
分享

微信扫一扫

SpringCloudAlibaba之Sentinel使用(五)

林肯公园_97cc 2022-03-30 阅读 34
spring cloud

上一节主要讲述了Sentinel概念和安装使用,本节主要讲下上一节中DemoController类中用法及演示。

SentinelResource注解
 

SentinelResource(value = "aaa",blockHandler ="blockHandler",fallback = "fallCustomeer",defaultFallback = "fall")

value为资源名称,可在Sentinel控制台-新增流控或降级规则等,资源名要和value的值保持一致,才触发该资源下一系列的流控或降级的动作。

blockHandler为流控或降级触发时指向的方法,即JAVA代码方法。如下

public String blockHandler(int id, BlockException e){
        if (e instanceof FlowException){
            return "当前请求过于火爆,您已被流量控制!!!";
        }
        if (e instanceof DegradeException){
            return "当前请求过于火爆,你已被降级!!!";
        }
        if (e instanceof ParamFlowException){
            return  "当前请求过于火爆,您已被热点参数限流!!!";
        }
        return "服务器快爆了,请稍后再试";
    }

fallback为自定义的发生异常时回调执行的参数,

defaultFallback为默认发生异常时回调执行的参数,如何此时fallback也有定义,默认执行自定义方法,两者二选一就好。

请求尝试

上述地址多尝试几次,打开

至于流控、降级、异常处理一一尝试,同时注意下FlowException、DegradeException和ParamFlowException三个异常的意思。

本节主要尝试加理解为主,这里陆游的诗结束本节。

下一节我们将开始seata讲述。

 

举报

相关推荐

0 条评论