Home

常见大型软件架构设计快速入门101

熔断限流

常见大型软件架构设计快速入门101

常见大型软件架构设计快速入门 101(面向入门到上手) 大型软件架构的目标不是“炫技”,而是在复杂需求、多人协作、长期演进下,依然能做到:可扩展、可维护、可用、可观测、可交付。本文用“101”方式,把常见架构形态、核心原则、关键组件与落地步骤串起来,帮助你快速建立整体框架。 --- 大型系统与小系统的关键差异 小系统通常关注“功能实现”;大型系统更关注“变化与风险”。 变化:需求、流量、团队、技术

摘要

熔断限流:保护系统可用性的两道“安全阀”

一句话总结

熔断在依赖异常时快速切断以防雪崩,限流在流量过载时限制入口以保核心可用。

要点

  • 1熔断(Circuit Breaker)用于在下游服务故障或高延迟时快速失败/降级,避免故障级联扩散;通常包含关闭/打开/半开状态并基于错误率、超时等指标自动恢复探测。
  • 2限流(Rate Limiting)用于控制请求进入系统或某资源的速率/并发(如 QPS、并发数、令牌桶/漏桶/滑动窗口),防止突发流量压垮服务,实现“削峰填谷”。
  • 3熔断侧重“下游不健康时保护上游”,限流侧重“流量过大时保护自身/关键资源”;常与降级、重试策略、超时、隔离(线程池/舱壁)组合使用。
  • 4落地位置常见于 API 网关、服务间调用客户端(如 HTTP/gRPC client)、关键依赖(DB/缓存/第三方接口)前;需要配合指标、告警与 SLO 才能正确调参。

相关主题

服务降级与兜底策略超时/重试与幂等性舱壁隔离(Bulkhead)与线程池隔离
熔断限流 — 常见大型软件架构设计快速入门101 - Drill