MST

星途 面试题库

面试题:微服务架构下业务高峰期熔断与降级机制的原理

请阐述在微服务架构中,业务高峰期触发微服务熔断与降级的基本原理,以及二者之间的联系与区别。
46.9万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试

微服务熔断基本原理

当某个微服务调用的失败率(如超时、异常等)达到一定阈值时,熔断器会开启,后续对该微服务的调用不再实际发起,而是直接返回一个预设的 fallback 响应。这样可以防止因某个故障微服务持续占用资源,导致整个系统的雪崩效应。例如,假设一个订单微服务调用库存微服务,当库存微服务调用失败率超过 80%,熔断器开启,订单微服务不再调用库存微服务,直接返回库存不足等提示给用户。

微服务降级基本原理

在业务高峰期,为了保证核心业务的稳定运行,主动将一些非核心的微服务功能或接口暂时屏蔽或简化处理。通过牺牲部分非关键业务功能,释放系统资源,以保障关键业务的可用性。比如,电商系统在大促时,为保证商品下单和支付功能正常,可能会暂时关闭用户积分查询等非核心功能。

联系

  1. 目的相同:二者都是为了应对微服务架构中的异常情况,保障系统整体的稳定性和可用性,避免因局部故障影响全局。
  2. 相辅相成:熔断往往是降级的一种触发条件,当熔断开启后,通常就会执行降级策略,返回预设的 fallback 响应。

区别

  1. 触发机制
    • 熔断:主要基于调用的失败情况,如失败率、超时率等指标达到阈值触发。
    • 降级:更多基于业务层面的考量,如业务高峰期主动对非核心业务进行限制,不一定基于调用失败。
  2. 作用范围
    • 熔断:主要针对单个微服务的调用链路,对特定微服务调用进行保护。
    • 降级:可针对整个系统的部分业务功能,涉及范围更广,可能跨多个微服务。
  3. 处理方式
    • 熔断:开启后,后续调用直接返回 fallback 响应,不实际调用目标微服务。
    • 降级:可能是简化业务流程、关闭非核心功能等多种方式,不一定完全不调用相关微服务。