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,也就是每秒只能走一个请求,如果超过了会出现如下提示:

相关推荐
步行cgn3 小时前
Spring 启动报错:BeanFactory not initialized 的原因与解决
java·python·spring
步行cgn3 小时前
Spring 报错:No bean class specified on bean definition 的原因与解决
java·后端·spring
重生之我是Java开发战士4 小时前
【Spring Cloud】Nacos注册中心
后端·spring·spring cloud
Wang's Blog4 小时前
Java框架快速入门:Spring Security+OAuth2之用户注册与唯一性校验实现
java·数据库·spring
Wang's Blog5 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
vx_Biye_Design7 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
名字还没想好☜7 小时前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio
Wang's Blog7 小时前
Java框架快速入门: Spring Security+OAuth2之短信服务多供应商动态切换(阿里云与LeanCloud)
java·spring·阿里云
卓怡学长8 小时前
w233基于vue和springboot的宠物管理系统的设计与实现
java·vue.js·spring boot·spring·intellij-idea
Wang's Blog9 小时前
Java框架快速入门: Spring Security+OAuth2之邮件验证码发送(SMTP与API方式)
java·数据库·spring