Skip to content
业务稳定性与治理实践 · 第 3 篇 / 共 4 篇
领域项目实践
专题业务系统架构起步专题
当前序列业务稳定性与治理实践
阅读位置第 3 篇 / 共 4 篇当前专题第 2 个序列 / 共 5 个序列

Sentinel 熔断降级和限流怎么接进业务

先说结论

  • Sentinel 更适合保护关键资源和下游依赖,不适合到处一把梭全加上
  • 限流规则要围绕真实 SLA、容量和压测结果来定,不能靠拍脑袋
  • 熔断和降级一定要配有明确的降级结果,否则只会把错误藏起来

一、先想清楚要保护谁

在商城项目里,更适合优先保护这些位置:

  • 秒杀接口
  • 下单接口
  • 商品详情热点接口
  • 对库存、支付、营销、搜索等下游的调用资源

如果每个 Controller、每个方法都加,最后规则会很快失控。

二、三类规则分别适合什么场景

1. 限流

适合控制高频入口流量,比如秒杀页、下单确认、营销活动接口。

2. 熔断

适合保护慢依赖或错误率突然升高的下游,比如支付服务、搜索服务、库存服务。

3. 系统保护

适合当线程数、RT、系统负载明显异常时,从系统层给应用兜一道保护网。

三、接进业务时更稳的做法

1. 规则按业务资源命名

别只按方法名配规则,更适合按“秒杀下单”“支付确认”“商品详情查询”这类业务资源来配。

2. 降级返回要提前设计

比如:

  • 秒杀接口被限流后返回“当前抢购人数过多,请稍后再试”
  • 搜索服务熔断后返回基础推荐结果
  • 营销服务异常时,先走无优惠兜底

如果没有明确降级结果,业务方最后看到的还是一片 500。

3. 规则和压测一起校准

阈值最好基于:

  • 峰值流量
  • 单机承载能力
  • 下游容量
  • 压测结果和历史活动数据

四、最容易踩的坑

1. 把限流阈值设得非常激进

结果系统还没真正到极限,业务先被自己限死了。

2. 熔断后没有 fallback 语义

熔断本来是保护系统,结果用户看到的是更难理解的异常。

3. 规则只上线,从不回顾

大促前一套阈值、日常一套流量、发版后一套链路,如果从不调整,规则会越来越失真。

4. 只在应用层限流,不看网关和前端协同

真正的大流量场景里,更稳的是网关、前端、业务服务多层配合,而不是只靠单点限流。

五、上线后建议看哪些指标

  • 资源限流触发次数
  • 熔断开启次数和持续时长
  • fallback 命中率
  • 规则变更记录
  • 限流前后 RT、错误率和下游压力变化

总结

Sentinel 接进业务最重要的不是“把注解加上”,而是先确定保护对象、再确定规则边界、最后定义好降级结果。规则围绕业务资源配,阈值围绕真实容量定,才能在高峰和异常时真正兜住系统。

延伸阅读相关文章优先当前专题,再补跨专题关联。
同一序列 · 顺着当前主线继续读链路追踪和日志关联怎么真正用于排障适合把支付回调、秒杀、流控和链路追踪放在一起看。业务系统架构起步专题 · 商城高并发与治理实践同一序列 · 回看前文会更完整秒杀系统流量治理怎么做更稳适合把支付回调、秒杀、流控和链路追踪放在一起看。业务系统架构起步专题 · 商城高并发与治理实践同专题其他序列 · 共享标签:项目实战订单服务的事务边界应该怎么划分适合把认证、检索、购物车和订单边界放到一条业务链路里看。业务系统架构起步专题 · 商城业务链路设计实践同专题其他序列 · 共享标签:项目实战防腐层为什么在旧系统改造里很关键适合把 DDD、领域事件、BFF、防腐层和基础组件边界放在同一条项目起步主线上思考。业务系统架构起步专题 · 业务架构设计与项目起步判断跨专题关联 · 同场景:项目实战腾讯云部署 VitePress 技术站:Node、Docker Nginx 与发布全流程适合把站点初始化、HTTPS 域名接入和自动发布这条完整上线链路收拢到同一个专题里持续维护。个人技术站搭建专题 · 个人技术站搭建与上线跨专题关联 · 同类型:实践复盘标签基数为什么会拖垮 Prometheus适合把 Prometheus、Grafana、标签治理和告警分级放在一起看。可观测性专题 · 指标与告警体系设计
继续阅读业务稳定性与治理实践当前序列第 3 篇 / 共 4 篇当前专题第 2 个序列 / 共 5 个序列
往前看
上一篇秒杀系统流量治理怎么做更稳回到当前序列上一章上一序列业务骨架与核心链路从第 1 篇开始:商城微服务项目怎么起步:模块拆分、Nacos、OpenFeign、Gateway 的最小实践路径
往后看
下一篇链路追踪和日志关联怎么真正用于排障继续当前序列下一章下一序列商城业务链路设计实践从第 1 篇开始:商城认证服务怎么拆分更稳

把零散经验整理成可查、可复用、可持续更新的企业级知识门户