Hystrix主要能解决三个问题:服务降级、服务熔断、服务限流;一般用在调用端,比如表现层去调用服务层,常见会用在表现层,但是服务层也行。
1.服务降级
服务降级是:因为某些原因,服务调用出现故障,本次操作以失败告终,但是会有备份的解决方案,比如向友好返回一个友好的提示告诉用户等待再试,此时服务端问题情况还不大,还能提供服务,只是当前可能流量比较大,处理不来
常见引起服务降级的情况:
2.服务熔断
服务熔断就比较粗暴,他也是当服务调用或服务器等出现问题,及时中断本次操作,但他和服务降级不同的是:导致出现服务熔断的问题很大,服务一时半会用不了的。一般在实际中,流量是一点一点上涨的,刚开始比较多,会先采用 服务降级的方法,但后面实在太多了,服务器受不了了,就会继而采用熔断,然后以降级的方式告诉用户这个功能一时半会用不了了,接着等待服务的恢复。
3.服务限流
服务限流就比较简单了,在同一瞬间,上千万个请求,不可能同一时间处理,需要有限制措施。比如 每秒只处理1000个请求来保证服务器的正常运行。