宕机是仁慈,变慢才致命:熔断器与它周围的三条链路
来源:dev.to — 2026-09-10
📋 概述
文章用电商结账调用支付服务的场景切入:支付服务彻底挂掉时,调用会在三毫秒内被拒绝,这一单干净地失败,站点其它页面照常服务;而支付服务只是变慢——40 毫秒变成 30 秒——结账看不出任何失败,却把线程、数据库连接、内存和端口长时间占住,最终把整个站点拖垮。原因是每一次调用都会在运行期间持有这些稀缺资源,慢调用只是持得更久。所以熔断器要保护的不是被调用的服务,而是调用方自己:它的工作方式是让自己的服务不再等待。
🔑 核心要点
- 服务挂掉时 worker 几毫秒就返回,站点继续服务;变慢时同一个 worker 会被占用 30 秒。
- 每次调用都会持有线程、数据库连接、内存与端口,直到调用结束。
- 产品页并不调用支付服务,却因线程被占满而一起挂掉。
- 熔断器真正的保护对象是调用方自己——它阻止的是等待。
💡 金句
Leave it running and answering every call correctly, only slower... It is also the one that takes the whole site down.
👍 0
👎 0
← 返回 dev.to 首页