hystrix熔断器
在一个具有多服务的应用中,假如由于其中某一个服务出现问题,导致响应速度变慢,或是根本没有响应返回,会导致它的服务消费者由于长时间的等待,消耗尽线程,进而影响到对其他服务的线程调用,进而会转变为整个应用的故障。这也被称之为雪崩效应。 而Hystrix熔断器,正是用来帮助我们解决这种问题的工具。 Hystrix提供了熔断、隔离、fallback、cache、监控等功能,能够在一个或多个服务出现问题的时候保证整个应用依然处于可用状态。 没有做熔断处理的应用,出现问题后: 正常情况: A→B→C→D D服务出现了问题: A→B→C×D 从而导致C服务无法获取正确的响应,出现对应的问题: A→B×C×D 最后导致B服务,甚至A服务都同样出现问题,由服务不可用变为应用不可用: A×B×C×D 针对于上面的这种情况,在Hystrix中采用了如下的几种方式进行处理。 1.Hystrix请求超时 用hystrix监控请求的响应时间,如果超过我们设置的时间,将会被判定为请求超时,抛出TimeoutException。 (1)引入Maven依赖 <dependency> <groupId>org.springframework.cloud</groupId>