springcloud Alibaba——sentinel降级具体设置

sentinel降级(理论参考上一个文档)

RT

在这里插入图片描述
表示的是:在200ms内要处理完,搞不定在未来的1m中以内要打开断路器。

Controller:

@GetMapping("/testD")
    public String testD() {
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        log.info("testD 测试RT");
        return "***********testD";
    }

测试:JMeter
在这里插入图片描述
说明:
一秒10个线程访问testD(大于5个),我们希望200毫秒处理完本次任务,如果超过200毫秒还没处理完,在未来的1秒时间窗口内,断路器打开,微服务不可用,保险丝跳闸断电了。

异常比例


对上图的说明:
异常比例是0.2(20%)也就是说80%要通过,否则的话在未来的1秒内断路器会打开。
Controller层

    //测试异常比例
    @GetMapping("/testE")
    public String testE() {
        log.info("testE 测试异常比例");
        int age = 10 / 0;
        return "********testE";
    }

这里的设置的异常比例是100%,不是进入熔断,而是访问出错
QPS达到5,且异常比例达到我们设置20%(实际为100%),断路器开启,服务降级。

单独访问一次,必然访问一次报错一次。开启jmeter后,直接高并发发送请求,多次调用达到配置条件。断路器开启,微服务不可用了,就不再报错而是服务降级了。

异常数

异常数达到设置值就熔断。
总结
上面阐述了Sentinel的降级设置,还是比较灵活的;还有一点就是Sentinel的断路器是没有半开状态的,也许之后的版本会有。

半开的状态系统自动去检测是否请求有异常,没有异常就关闭断路器,有异常则继续打开断路器。具体可以参考Hystrix

发布了57 篇原创文章 · 获赞 0 · 访问量 1020
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览