Sentinel - 指南

概念

阿里开源的就是Sentinel 微服务流量治理组件,核心定位是 “流量的哨兵”—— 通过监控、防护、控制流量,解决微服务架构中 “流量失控导致服务崩溃” 的挑战,最终保障服务的高可用性。​

它的核心价值:在流量洪峰、下游故障、资源紧张等场景下,通过 “限流、熔断、降级” 等手段,建立 “削峰填谷、故障隔离、资源保活”,避免单一问题扩散为全链路雪崩。

Sentinel 五大核心防护能力:流控、熔断、降级、热点、授权

1. 流控(流量控制)​

  • 核心作用:对进入服务的请求流量设置 “上限”,避免超出服务的承载能力(比如服务每秒只能处理 300 个请求,就不允许每秒 500 个请求进入),本质是 “削峰填谷”,保证服务在安全流量范围内稳定运行。​
  • 关键规则维度:​
  • 限流指标:QPS(每秒请求数,适合接口级限流)、线程数(适合线程密集型服务,避免线程耗尽);​
  • 限流策略:直接拒绝(超阈值直接返回错误)、排队等待(按固定速率放行,避免瞬间流量)、预热(从低阈值逐步升到目标阈值,适合秒杀等流量骤增场景);​
  • 限流范围:默认全局限流,也支持按调用来源(如只限制 APP 端流量)、按链路(如只限制 “下单→支付” 链路的流量)。​
  • 举例:电商秒杀场景​

某商品秒杀接口经压测,最大能稳定处理 200 QPS(超过会导致数据库连接池满)。用 Sentinel 配置流控规则:​

  • 资源名:seckillProduct(秒杀接口的唯一标识);​
  • 限流指标:QPS;​
  • 阈值:200;​
  • 策略:直接拒绝,返回 “当前人数过多,请稍后重试”。​

效果

posted @ 2025-12-11 13:32  clnchanpin  阅读(13)  评论(0)    收藏  举报