Hystrix 是一个用于处理分布式系统的延迟和容错的开源库, 在分布式系统里, 许多依赖不可避免的会调用失败, 比如超时,异常等, Hystrix能够保证在一个依赖出问题的情况下, 不会导致整体服务失败, 避免级联故障, 以提高分布式系统的弹性.
而"熔断器",熔断器本身是一种开关装置, 当某个服务单元发生故障后, 通过断路器的故障监控(类似熔断保险丝), 向调用方返回一个符合预期的, 可处理的备选响应(FallBack), 而不是长时间的等待或者抛出调用方 无法处理的异常, 这样就保证了服务调用方的线程不会被长时间, 不必要地占用, 从而避免了故障在分布式系统中的蔓延, 乃至雪崩.
服务降级
(例 :服务器忙, 请稍后再试) 遇到突发情况,异常,超时等,不让客户端等待并立刻返回一个友好提示,fallback
哪些情况会发出降级措施
-
程序运行异常
-
超时
-
服务熔断触发服务降级
-
线程池/信号量分布式系统的延迟和容错的开源库, 在分布式系统里, 许多依赖不可避免的会调用失败, 比如超时,异常等, Hystrix能够保证在一个依赖出问题的情况下, 不会导致整体服务失败, 避免级联故障, 以提高分布式系统的弹性.
而"熔断器",熔断器本身是一种开关装置, 当某个服务单元发生故障后, 通过断路器的故障监控(类似熔断保险丝), 向调用方返回一个符合预期的, 可处理的备选响应(FallBack), 而不是长时间的等待或者抛出调用方 无法处理的异常, 这样就保证了服务调用方的线程不会被长时间, 不必要地占用, 从而避免了故障在分布式系统中的蔓延, 乃至雪崩.
服务降级
(例 :服务器忙, 请稍后再试) 遇到突发情况,异常,超时等,不让客户端等待并立刻返回一个友好提示,fallback
哪些情况会发出降级措施
-
程序运行异常
-
超时
-
服务熔断触发服务降级
-
线程池/信号量满了也会导致服务降级
服务熔断
类似保险丝 当达到最大服务访问后, 直接拒绝访问, 直接拉闸, 然后调用服务降级的方法并返回一个友好提示
服务降级-> 进而熔断 -> 恢复调用链路
服务限流
秒杀高并发等操作, 严禁一窝蜂的拥挤,大家排队,一秒钟N个,有序进行