认识
2025年01月05日
一、认识
服务降级(Service Degradation
) 是一种在分布式系统中保护核心服务的策略。当某些服务出现异常或不可用时,系统通过提供简化或替代的功能,确保用户能够继续使用关键功能,而不会因为依赖服务的失败导致整体服务不可用。
在 Node.js
中,服务降级 经常与 熔断器、超时处理 等机制结合使用,用于应对外部服务故障、高并发、超时或资源瓶颈等情况。
1.1 为什么需要服务降级?
-
保护核心功能:当非核心服务发生故障时,通过降级避免影响关键业务。
-
提升用户体验:降级可以快速提供替代响应,减少用户等待时间或错误体验。
-
防止级联故障:降级减少对故障服务的请求压力,避免连锁反应导致系统整体不可用。
-
系统容错能力:增强系统的健壮性,在异常情况下仍然能保持部分功能可用。
二、场景
2.1 外部服务不可用
如调用第三方 API
时出现超时或错误,返回默认值或缓存数据。
2.2 数据库超时或失败
数据库连接异常时,提供静态数据或缓存结果。
2.3 高并发场景
在系统高负载时,通过降级减少不必要的服务调用。
2.4 非核心功能异常
如日志、监控等辅助功能失效时不影响主要业务流程。