MST

星途 面试题库

面试题:微服务架构中熔断与降级的触发机制及对性能的影响

在微服务架构下,阐述熔断和降级分别是基于哪些条件触发的?并说明它们在触发后对微服务性能的具体影响有哪些,比如对响应时间、吞吐量等方面。
15.6万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试

熔断触发条件

  1. 错误率:当微服务调用的错误率超过一定阈值(如50%),持续一段时间(如10秒),就可能触发熔断。例如,调用外部支付服务,若连续多次返回支付失败错误,且错误比例达到设定阈值,触发熔断。
  2. 超时次数:如果微服务调用频繁超时,超过设定的阈值,比如1分钟内超时次数达到50次,也会触发熔断。比如调用第三方物流查询接口,经常长时间无响应,达到超时次数阈值就熔断。

降级触发条件

  1. 系统资源不足:当服务器CPU、内存等资源使用率过高,例如CPU使用率超过80%,为保证核心功能,可能触发降级。如电商大促期间,服务器资源紧张,对一些非核心的个性化推荐功能进行降级。
  2. 流量过载:流量短时间内急剧增加,超过系统承载能力,如每秒请求数(QPS)超过系统最大处理能力的80%,触发降级。比如直播带货时,大量用户涌入抢购商品,触发部分服务降级。
  3. 依赖服务故障:当所依赖的微服务出现故障(如熔断、不可用等),会触发当前服务的降级。比如订单服务依赖库存服务,库存服务不可用,订单服务触发降级。

熔断触发后对微服务性能影响

  1. 响应时间:熔断触发后,对于后续请求不再调用实际的服务,而是快速返回一个预设的 fallback 响应,响应时间大幅缩短。例如原本调用外部服务可能需要几百毫秒甚至几秒,熔断后直接返回 fallback 响应可能只需几毫秒。
  2. 吞吐量:由于不再进行实际的服务调用,避免了因等待故障服务响应而占用资源,系统吞吐量会有所提升。在一定程度上,释放了资源给其他正常服务调用,能处理更多请求。

降级触发后对微服务性能影响

  1. 响应时间:同样,降级后执行简单的 fallback 逻辑,而非完整复杂业务逻辑,响应时间会显著降低。例如原本复杂业务逻辑处理可能需几百毫秒,降级后执行简单兜底逻辑可能几十毫秒就能返回。
  2. 吞吐量:降级牺牲了部分功能的完整性,将资源集中在核心业务上,系统整体吞吐量可能会维持在一个相对稳定的水平,甚至有所提升,以保证核心业务的正常运行。例如电商大促时,对非核心功能降级,确保订单处理等核心功能的吞吐量。