服务降级和熔断的区别?
高并发面试题发布于
一、降级(Degrade)
- 主动关闭非核心功能,保证核心功能可用。
- 如大促时关闭评论、推荐,保交易。
- 是一种策略,通常按预设规则触发。
二、熔断(Circuit Breaker)
- 下游服务故障时,上游不再调用,直接返回降级结果。
- 类似电路保险丝,防止故障蔓延。
- 基于错误率、响应时间等指标自动触发。
三、熔断器状态
- Closed:正常调用,统计指标。
- Open:达到阈值,直接返回降级响应。
- Half-Open:放少量请求试探,成功则关闭,失败则继续打开。
四、实现
- Sentinel:熔断规则(慢调用比例、异常比例、异常数)。
- Hystrix:已停更。
- Resilience4j:轻量。
五、降级方案
- 返回兜底数据。
- 返回缓存数据。
- 返回默认值或提示。
- 排队等待(异步处理)。