
熔断指一个依赖连续失败或超时后,调用方暂时停止向它发送新请求,直接返回失败或降级结果。它不是认定对方永久坏了,而是用一段冷却期阻止更多等待、重试和资源占用继续累积;随后只放少量探测请求,确认恢复才重新开放。
例如支付查询服务失灵时,订单页面若仍不断追问,线程和连接会被耗尽,原本局部的故障可能拖慢整个网站。熔断让页面先显示“稍后确认”,给支付服务留下恢复空间。
熔断不同于限流:限流约束正常流量的速度,熔断依据近期失败状态决定是否暂时拒绝调用;它也不同于重试,后者再次尝试,前者在失败持续时主动停止尝试。它的中心价值不是消除故障,而是给故障划出传播边界。
https://learn.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。