熔断机制是应对雪崩效应的一种微服务链路保护机制,当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回”错误”的响应信息。
和服务降级有什么区别?
服务熔断对服务提供了proxy,防止服务不可能时,出现串联故障(cascading failure),导致雪崩效应。
服务熔断一般是某个服务(下游服务)故障引起,而服务降级一般是从整体负荷考虑。
共性:
目的 -> 都是从可用性、可靠性出发,提高系统的容错能力。最终表现->使某一些应用不可达或不可用,来保证整体系统稳定。粒度 -> 一般都是服务级别,但也有细粒度的层面:如做到数据持久层、只许查询不许增删改等。自治 -> 对其自治性要求很高。都要求具有较高的自动处理机制。
区别:
触发原因 -> 服务熔断通常是下级服务故障引起;服务降级通常为整体系统而考虑。管理目标 -> 熔断是每个微服务都需要的,是一个框架级的处理;而服务降级一般是关注业务,对业务进行考虑,抓住业务的层级,从而决定在哪一层上进行处理:比如在IO层,业务逻辑层,还是在外围进行处理。实现方式 -> 代码实现中的差异。