某下游服务连续超时后,调用端熔断器暂时快速失败,不再把请求发往下游。等待预设时间后,熔断器只允许少量请求试探服务是否恢复。此时处于()。
熔断器 Open 一段时间后会进入 Half-Open,有限放行探测请求。若探测成功并达到恢复条件,可回到 Closed;若继续失败,则重新 Open。
选项分析
错误。Closed 表示正常放行调用并持续统计成功率或故障率。
错误。Open 通常直接拒绝或降级,不向故障下游持续发送普通请求。
正确。Half-Open 通过有限探测判断服务是否已恢复。
错误。熔断器是自动保护与恢复机制,不等同于永久摘除服务。
本题为什么容易错
Open、Closed 的中文直觉容易反过来。它们说的是电路是否接通,不是服务界面上的“开启/关闭”按钮。
简短答案
熔断器等待一段时间后放行少量探测请求,处于什么状态,正确答案是 C(Half-Open 状态)。熔断器 Open 一段时间后会进入 Half-Open,有限放行探测请求。若探测成功并达到恢复条件,可回到 Closed;若继续失败,则重新 Open。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| Closed 状态 | 本题干扰项 | 错误。Closed 表示正常放行调用并持续统计成功率或故障率。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| Open 状态 | 本题干扰项 | 错误。Open 通常直接拒绝或降级,不向故障下游持续发送普通请求。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| Half-Open 状态 | 本题正确答案 | 正确。Half-Open 通过有限探测判断服务是否已恢复。 | 看到题干核心场景时优先联想到它 |
| 永久下线状态 | 本题干扰项 | 错误。熔断器是自动保护与恢复机制,不等同于永久摘除服务。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- Closed 状态:错误。Closed 表示正常放行调用并持续统计成功率或故障率。
- Open 状态:错误。Open 通常直接拒绝或降级,不向故障下游持续发送普通请求。
- 永久下线状态:错误。熔断器是自动保护与恢复机制,不等同于永久摘除服务。
知识点详解
熔断器通过观察一段窗口内的失败率、慢调用率或连续故障,在下游明显异常时快速失败,避免线程、连接和队列被持续占用。Open 状态经过等待时长后进入 Half-Open,只允许受控探测;恢复判定不能只看一次偶然成功,通常还需配置最小调用数和成功阈值。熔断器不替代超时,也应谨慎配合重试,避免放大故障流量。
备考速记
Closed 正常通,Open 快速断,Half-Open 少量探。
Circuit Breaker 在故障恢复场景中的作用
Circuit Breaker在本题中的核心价值,是解决“某下游服务连续超时后,调用端熔断器暂时快速失败,不再把请求发往下游。等待预设时间后,熔断器只允许少量请求试探服务是否恢复。此时处于()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 根据快速失败、冷却时间和探测请求判断熔断器状态。
- 区分熔断器、舱壁隔离、限流与重试处理的故障类型。
Circuit Breaker 在系统架构设计师软考中的考法
软考选择题通常不会只考概念定义,还会把Circuit Breaker放到故障恢复场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
把熔断器想成一扇门:正常时门开着让业务请求通过,但状态名叫 Closed,因为电路是闭合的;故障达到阈值后电路断开,状态叫 Open,请求快速失败。冷却期结束不能一下子放开全部流量,于是先半开,只放少量探测。题干的“等待后、少量、试探”三个词,直接指向 Half-Open。
考点定位
Closed 不是故障关闭,而是电路闭合、调用正常通过;Open 才是快速失败;Half-Open 用少量真实请求验证恢复。
易错提醒
- Half-Open 阶段放行全部积压流量,造成刚恢复的服务再次被压垮。
- 只设失败次数,不考虑统计窗口、慢调用和最小请求量。
- 把熔断、超时、重试当成同一个机制并无上限叠加。
备考提示
- 用状态转换图复习:Closed→Open→Half-Open→Closed/Open。
- 案例题同时考虑超时、有限重试、熔断、隔离和降级,说明各自职责。
你可能还想了解
- 熔断器 Open 和 Closed 为什么容易记反?
- Half-Open 应该放行多少探测请求?
- 熔断、限流和重试有什么区别?
本文小结
熔断器在 Open 冷却期结束后进入 Half-Open,仅放行少量请求探测恢复;成功后可回到 Closed,继续失败则重新 Open。