跳到主要内容

认识

2025年01月05日
柏拉文
越努力,越幸运

一、认识


服务降级(Service Degradation 是一种在分布式系统中保护核心服务的策略。当某些服务出现异常或不可用时,系统通过提供简化或替代的功能,确保用户能够继续使用关键功能,而不会因为依赖服务的失败导致整体服务不可用。

Node.js 中,服务降级 经常与 熔断器超时处理 等机制结合使用,用于应对外部服务故障、高并发、超时或资源瓶颈等情况。

1.1 为什么需要服务降级?

  1. 保护核心功能:当非核心服务发生故障时,通过降级避免影响关键业务。

  2. 提升用户体验:降级可以快速提供替代响应,减少用户等待时间或错误体验。

  3. 防止级联故障:降级减少对故障服务的请求压力,避免连锁反应导致系统整体不可用。

  4. 系统容错能力:增强系统的健壮性,在异常情况下仍然能保持部分功能可用。

二、场景


2.1 外部服务不可用

如调用第三方 API 时出现超时或错误,返回默认值或缓存数据。

2.2 数据库超时或失败

数据库连接异常时,提供静态数据或缓存结果。

2.3 高并发场景

在系统高负载时,通过降级减少不必要的服务调用。

2.4 非核心功能异常

如日志、监控等辅助功能失效时不影响主要业务流程。