Java基础之《微服务(6)—服务雪崩hystrix基础》

一、什么是服务雪崩

1、正常请求

2、大量请求

3、雪崩开始

 4、影响扩大

5、雪崩原因
(1)服务提供者不可用(硬件故障,程序bug,缓存击穿,用户大量请求)
(2)重试加大流量(用户重试,代码逻辑重试)
(3)服务调用者不可用(同步等待造成的资源耗尽)
最终的结果就是一个服务不可用,导致一系列服务的不可用,而这种后果往往无法预料。

二、如何解决灾难性雪崩效应

1、降级
超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。
实现一个fallback方法,当请求后端服务出现异常的时候,可以使用fallback方法返回的值。

2、隔离(线程池隔离和信号量隔离)
限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。

3、熔断
当失败率(如因网络故障/超时造成的失败率高)达到阈值自动触发降级,熔断器触发的快速失败会进行快速恢复。

4、缓存
提供了请求缓存。

5、请求合并
提供请求合并。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值