雪崩问题
只有流量控制是预防雪崩,其他的方案是防止故障传递给其他服务
服务保护技术对比
下载好Sentinel
登录
流控模式-直接
流控模式-关联
order/update不会受任何影响
但是order/query被限流了
流控模式-链路
Sentinel默认只标记Controller中的方法为资源, 如果要标记其他方法,需要使用@SentinelResource注解
还需要修改yml文件
流控效果
流控效果-warm up
测试
一开始通过3拒绝7,慢慢的通过10
流控效果-排队等待
测试
热点参数限流
需要注意的是:热点参数限流对默认的SpringMVC资源无效
所以第一步需要对限流的方法进行配置,添加注解
结果:
隔离和降级
Feign整合Sentinel
步骤一
步骤二
步骤三
步骤三四
线程隔离
- 线程池隔离
- 信号量隔离(Sentinel默认采用)
网关也是使用信号量隔离
线程隔离案例
结果
多余的请求都被降级了
熔断降级
熔断策略
- 慢调用
- 异常比例
- 异常数
熔断策略-慢调用
案例
熔断策略-异常比例、异常数
案例
授权规则及规则持久化
授权规则
第一步 ![](https://i-blog.csdnimg.cn/blog_migrate/b6cd351bd8664c201195dcd1e2f5f76f.png)
第二步
自定义异常结果
规则持久化
pull模式
push模式