Hystrix 熔断器
什么是熔断器? Hystrix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。 Hystrix熔断器,避免某个小服务宕机,导致整个系统级联宕机,从而整个系统挂掉.可以有效保护其他服务正常提供. 为什么要有熔断器? 高并发领域,在分布式系统中,可能因为一个小小的功能扛不住压力宕机,导致其他服务也跟随宕机,最终导致整个系统宕机,所以SpringCloud中采用Hystrix进行处理。 当服务繁忙时,如果服务出现异常,不是粗暴的直接报错,而是返回一个友好的提示,虽然拒绝了用户的访问,但是会返回一个结果。 怎么使用? 首先再 服务消费者 中引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> 启动类加上注解 @EnableHystrix 在访问其他服务器的方法上声明一个失败时的回滚函数 //默认是1000毫秒,就会执行fallback函数,返回错误提示。 @HystrixCommand(fallbackMethod = "回滚的函数名") 设定超时熔断时间 熔断时间要大于Ribbon重试时间,负责先触发熔断,而不是重试其他服务器