开发者学堂课程【精通 Spring Cloud Alibaba:Sentinel 实现服务降级效果】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/634/detail/10144
Sentinel 实现服务降级效果
内容介绍:
一、问题与回答
二、降级规则
一、流控规则的基础上
1、提出问题:流控规则的预值的两种类型,QPS 和线程数分别表达什么意思?
回答:
QPS 表示接口每秒达到预值情况下会自动帮助实现限流。
线程数表示w接口最多只会允许有多少线程会进行处理,一但超出线程数也会限流。
二、降级规则
1、三种降级策略:RT、异常比例、异常数
举例:
@SentinelResource(value = "getOrderDowngradeRtType", fallback " getorderDowngradeRtType "
@RequestMapping("/getOrderDowngradeRtType")
public String getOrderDowngradeRtType( ) {
try {
Thread. sleep( millis: 300)
;
} catch (Exception e) {
}
return " getOrderDowngradeRtType";
}
public String getOrderDowngradeRtType Fallback
()
{
return
“服务降级啦,当前服务器请求次数过多,请稍后重试!”
有资源名为 getOrderDowngradeRtType 的接口,就会出现熔断(类似保险丝),如果客户端在五秒内发送五次请求,每次请求耗时超出 RT 所设置的时间,就会触发熔断,则在时间窗口设置的时间内不可以访问接口。
server:
port:8090
tomcat:
max-threads: 20
若在1秒内频繁访问,发送5次请求,则会出现“服务降级啦,当前服务器请求次数过多,请稍后重试!”说明在时间窗口设置2秒的前提下,触发熔断后在2秒内不可访问接口。