使用场景
服务提供方出现宕机或者网络访问不通时,服务调用方有时候会消耗资源在这上面,严重的话会出现服务雪崩,影响到其他业务流程, 引入熔断器hystrix, 能够自动降级,避免资源的消耗和保证服务可用性。
实现原理
1 船舱模型(资源隔离):为每个服务提供方分配一个线程池,固定线程池的线程数量, 避免一个服务提供方调用出现问题影响整个系统,当单个服务提供方对应线程池满了,在进行访问, 则降级访问回滚函数fallback
2 断路器: 当线程池中线程访问服务提供方的结果都是失败, 失败的数量达到一个阀值, 则打开断路器, 禁止系统在访问对应外部服务提供方,降级访问回滚函数fallback, 一段时间后,断路器半开,如果能继续访问服务提供方, 则关闭断路器回复正常访问。