SpringCloud快速入门(10)---- Sentinel(应用场景&控制台安装)

1. 应用场景

Sentinel 有三大核心应用场景

1.1 流量控制(限流)

**场景:**商品服务突然来了 10000 并发,但它只能扛 100。如果不拦着,商品服务直接崩。

Sentinel 作用:

  • 设定每秒最多 100 个请求
  • 多出来的请求 直接拒绝 / 排队
  • 保证服务不被冲垮

1.2 熔断降级

场景: 订单服务调用商品服务,但商品服务超时、宕机、报错。如果不处理,订单服务也会被拖死 → 整个链路雪崩。

Sentinel 作用:

  • 发现商品服务不行 → 直接切断调用
  • Fallback 兜底(返回默认数据)
  • 不让故障蔓延

1.3 系统负载保护

**场景:**CPU 100%、Load 过高、内存爆了。

Sentinel 作用:

  • 监控系统负载
  • 高负载时 自动拒绝新请求
  • 保护服务器不宕机

2. 安装控制台

Releases · alibaba/Sentinel

下载后使用java -jar 命令启动即可,默认端口是8080,默认账户密码都是sentinel:

配置:

复制代码
spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080  # Sentinel 控制台地址
      eager: true                 # 立即初始化 Sentinel

配置完成后启动服务就可以在sentinel控制台看到:

3. 资源

资源 :就是需要被限流、熔断、降级、监控的入口 / 方法 / 接口。只要被 Sentinel 管控、能配置规则的,都叫资源。

3.1 会被自动识别的资源

1. 所有 SpringMVC 接口(控制器 URL)

只要是 @RestController / @Controller 的接口请求路径,自动视为资源

例如:/product/{id}、/order/create

自动统计 QPS、异常、耗时,控制台直接看到链路

2. OpenFeign 远程调用接口

整合 OpenFeign 后,所有 Feign 调用方法自动变成资源

Feign 调用超时、异常 → 自动触发熔断、降级

控制台能看到 Feign 调用的资源名

3. Gateway 网关路由接口

Spring Cloud Gateway 的路由路径,自动作为资源用来做网关层面全局限流、流量管控

3.2 需要手动标记才会被当成资源

1. 普通业务 Service 方法

@Service 里的普通业务方法,默认不是资源要加@SentinelResource注解:

java 复制代码
@SentinelResource("getUserInfo")
public User getUserInfo(Long id){...}

加了注解才会被 Sentinel 管控、限流、熔断。
2. 定时任务、异步方法

@Scheduled、@Async 方法 默认不自动识别,需要手动 @SentinelResource
3. 本地普通工具类、普通方法

没有任何框架注解的普通 Java 方法,完全不会自动当成资源

4. 基本使用

在控制台的蔟点链路我们可以看到被调用过的服务,右边可以进行操作,我们以流控为例子:

这里点进去可以进行设置,例如这里设置了单机阈值为1,也就是每秒只能走一个请求,如果超过了会出现如下提示:

相关推荐
贫民窟的勇敢爷们9 小时前
SpringBoot整合AOP切面编程实战,实现日志统一记录+接口权限校验
java·spring boot·spring
灵犀学长10 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
吾疾唯君医13 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
云烟成雨TD16 小时前
Spring AI Alibaba 1.x 系列【52】Interrupts 中断机制:节点执行前后静态中断
java·人工智能·spring
Volunteer Technology17 小时前
SpringAI Tool Calling 工具调用(六)
人工智能·spring
笨拙的老猴子17 小时前
Spring AI 实战教程(七):Agent 智能体 —— 用电商购物助手学透自主规划与工具执行
java·人工智能·spring
河阿里18 小时前
SpringBoot:Spring Task定时任务完整使用教学
java·spring boot·spring
青云计划19 小时前
Spring
java·后端·spring
带刺的坐椅20 小时前
Spring AI 2.0 GA 倒计时:先别急,来看看 Java AI 框架的另一条路
java·spring·ai·llm·agent·solon