springcloud Sentinel


一、Sentinel 是什么?

Sentinel 是阿里巴巴开源的流量控制、熔断降级组件,用于保障微服务的稳定性。

✅ 替代 Hystrix

✅ Spring Cloud Alibaba 官方推荐

✅ 支持 流控、熔断、系统保护、热点参数、授权


二、为什么要用 Sentinel?(痛点)

问题 说明
服务雪崩 一个服务拖垮整个系统
高并发 瞬间流量打爆服务
依赖故障 下游服务不可用
系统过载 CPU / 内存飙高

✅ Sentinel 解决这些问题


三、Sentinel 核心概念(必背)

概念 说明
Resource 被保护的资源(方法 / URL)
Entry 资源的入口
Context 调用上下文
Rule 流控 / 降级 / 系统规则
Slot Chain 处理链

四、Sentinel 工作流程(高频)

复制代码
请求进入
   ↓
创建 Context
   ↓
构建 Resource
   ↓
Slot Chain 校验
   ↓
通过 → 执行业务
   ↓
异常 → 触发熔断 / 降级

五、流量控制(Flow Control)

1️⃣ 流控维度

维度 说明
QPS 每秒请求数
线程数 并发线程
调用关系 调用方

2️⃣ 流控效果

效果 说明
直接拒绝 默认
Warm Up 预热
排队等待 匀速排队

Warm Up 防止冷启动被打爆


六、熔断降级(Circuit Breaker)

1️⃣ 熔断策略(重点)

策略 说明
慢调用比例 RT 超过阈值
异常比例 异常占比
异常数 绝对数量

2️⃣ 熔断状态机

复制代码
Closed → Open → Half-Open → Closed

✅ 自动恢复


七、热点参数限流(特色功能 ⭐⭐⭐⭐⭐)

对某个参数单独限流

java 复制代码
@SentinelResource(value = "getUser", blockHandler = "blockHandler")
public User getUser(@RequestParam Long id) {
    return userService.get(id);
}

✅ 防止:

  • 恶意刷单
  • 热点商品
  • 爬虫攻击

八、系统自适应保护(系统规则)

指标 说明
LOAD 系统负载
RT 平均响应时间
线程数 并发数
入口 QPS 总流量
CPU 使用率 资源保护

保护整台机器


九、@SentinelResource 注解

java 复制代码
@SentinelResource(
    value = "createOrder",
    blockHandler = "blockHandler",
    fallback = "fallback"
)
public Order createOrder() {
    return orderService.create();
}
属性 作用
value 资源名
blockHandler 流控 / 熔断
fallback 业务异常

十、Sentinel vs Hystrix(必问)

对比 Sentinel Hystrix
隔离策略 信号量 线程池
流控 ✅ 丰富
系统保护
实时监控
生态 Spring Cloud Alibaba 停止维护

Sentinel 全面胜出


十一、Sentinel 控制台

✅ 实时监控

✅ 规则配置

✅ 集群流控

✅ 机器发现


十二、常见坑(面试加分)

❌ 资源名重复

❌ blockHandler 参数不匹配

❌ 规则未持久化

❌ 上下文丢失

❌ 网关流控配置错误


十三、规则持久化(生产必做)

存储 说明
Nacos ✅ 推荐
Apollo
Zookeeper
本地文件

十四、Spring Cloud Gateway + Sentinel

✅ API 网关级流控

✅ 路由级熔断

✅ 参数级限流


十五、面试标准答案(背这段 ✅)

Sentinel 是阿里开源的流量控制组件,通过资源定义、Slot Chain 和多种规则实现对系统的保护。
支持流控、熔断降级、热点参数和系统自适应保护,能够有效防止服务雪崩。
相比 Hystrix,Sentinel 提供了更丰富的流控策略和实时监控能力,是 Spring Cloud Alibaba 微服务稳定性的核心组件。


十六、一句话总结(记住这句)

Sentinel = 微服务的"保险丝 + 流量警察"


相关推荐
行百里er19 小时前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring cloud·监控
宸津-代码粉碎机1 天前
微服务线上踩坑复盘:接口超时、负载倾斜隐形问题根治方案(生产级配置)
java·大数据·人工智能·python·spring
LuTshoes1 天前
spring ai 实战RAG(4)-模块化RAG
java·人工智能·spring
wno7041 天前
Spring Security基础使用
java·后端·spring
LuTshoes1 天前
context 上下文工程
java·人工智能·spring·ai
wang_shu_mo_ran1 天前
Spring MVC的常用注解和用法(一)
java·spring·mvc
陈鋆1 天前
Spring AI Framework (六:「任务编排 + 成本仪表盘 + 轨迹评估」的 Agent 平台)
spring·ai·ai编程
滕州市燕猫虎计算机科技工作室个体工商户1 天前
SpringBoot002:循环依赖问题
spring·spring循环依赖·循环依赖
砍材农夫1 天前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud
weixin_BYSJ19872 天前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计