实际应用经常会涉及到微服务A调用微服务B的情况
但是假设服务B失效了,那服务A发送的请求就会堆积,一旦服务B恢复,就会导致大量请求在同一时间进入,引起雪崩。
熔断机制就是为了解决这一问题产生的。
熔断机制的工作原理:
假设下面的调用执行了101次
A->B
(假设阈值为30%, 请求量>100)
其中有40次失败了,这时,熔断机制就会处于半开状态,半开状态只会允许部分请求调用B,其他请求会降级,同时会对当前请求进行测评,如果一定时间内失败请求超过阈值,则会完全打开断路器,对所有请求进行降级。
当断路器完全打开后,会等一段时间,在一段时间过后,断路器恢复半开状态,继续对请求进行测评,直到所有请求都没问题,断路器再次关闭。