什么是熔断器?为什么需要熔断器?
什么是熔断器?为什么需要熔断器?
回答重点
在微服务架构中,服务之间的调用关系会形成调用链路,链路中的任何一个服务都可能出现超时或者宕机的情况,而在微服务系统中,如果调用失败的话可能会引起大面积的服务瘫痪,即形成 “服务雪崩” 的情况,这样的话对于服务的影响是巨大的。
熔断器就是为了来解决这个问题,避免服务雪崩情况的发生。
熔断器的基本原理如下:
- 正常情况下,熔断器处于关闭状态,服务消费者正常请求微服务中的服务提供者。
- 当发生了服务调用请求失败的时候,并且达到了一定比例,比如 70 % 的请求发生了失败,或者失败的请求次数达到了 100 等等,这个时候熔断器打开,此时将服务调用者不再发起服务调用请求,这种方法是一种快速失败的方法,也称为熔断方法。
- 熔断器启用一段时间时候,自动进入“半关闭状态”,这个时候熔断器允许服务调用者发起一个请求给服务提供者,如果请求调用成功了,关闭熔断器,反之继续打开熔断器,循环往复。
这种方式在服务发生意外的时候,可以实现服务错误的隔离,避免了服务错误导致了系统的整体不可用,这样保证了系统即使出现了局部问题也不会发生服务雪崩的情况。
扩展知识
Comments