Hystrix 在微服务中主要用于服务的降级,服务熔断,服务隔离那么首先我们要知道他的使用场景Hystrix是怎么解决服务雪崩效应的呢?
1.服务降级
在高并发的状态下
当大量请求堆积到服务c的时候如果超过他的最大调用极限会导致服务c调用失败,从而导致服务B和服务A一次的调用失败这就是服务的雪崩效应,这个时候我们该怎么去处理呢
服务降级
在高并发情况下,防止用户一直等待,使用降级的方式也就是返回客户端一个友好的提示信息
如果调用其他接口超时的时候(默认是1秒钟),如果没有在一秒钟响应那么就直接执行服务降级的方法
服务熔断
服务熔断就是为了保护服务,在高并发场景下当服务请求达到服务调用的阈值的时候上游服务会关闭下游服务的请求从而保证整个服务的正常那个运行,同时也就是使用服务降级的方式给与友好提示,所以熔断和降价都是同时使用的
服务的隔离
线程池和信号量隔离
tomcat中默认的是一个线程池去处理客户端的请求
在高并发的情境下我们可以通过设置不同的线程池来避免服务雪崩的产生
Hystrix的使用
1.在父工程的pom中引入jar包
2.在调用方订单系统的(订单调会员)yml配置文件中开启Hystrix
3.在订单服务层
4.定义一个返回提示信息用于友好信息的提示