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 = 微服务的"保险丝 + 流量警察"


相关推荐
java资料站32 分钟前
二、Spring AI Alibaba · ChatModel
java·windows·spring
流烟默1 小时前
网关 Sentinel 限流实战:API 分组、规则加载与全量匹配踩坑记
nacos·gateway·sentinel·流控规则
java资料站2 小时前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
for_ever_love__3 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
bst@微胖子7 小时前
Spring AI (5) : MCP 深度实战:从工具抽取到鉴权,SSE 与 STDIO
人工智能·spring·dubbo
Nebula_g7 小时前
JavaSE拓展:工具类Executors
java·开发语言·后端·spring·基础·javase
鱼宵7 小时前
Spring AI 可观测与透明化:traceId 串起全链路,思考过程实时直播给用户
java·人工智能·spring·链路追踪·springai
Raas1007 小时前
AI网关能做语义缓存吗?MAI Gateway(魔芋企业级AI网关)实战能力深度解读
java·后端·spring
天空鸟_时光不老7 小时前
13-亮点提炼:把技术说辞翻译成业务价值
java·spring boot·spring·spring cloud·mybatis
程序员Sunday8 小时前
Spring @Transactional 没回滚?按代理调用、异常和传播行为排查
java·后端·spring