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

相关推荐
dyonggan1 小时前
IDEA从零搭建SpringCloud Alibaba完整工程
java·spring cloud·intellij-idea
架构源启12 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring
风起洛阳@不良使19 小时前
springIOC创建对象的方式--spring容器中的注入
java·spring
码农学院20 小时前
建筑机械行业AI搜索优化技术方案:基于Spring Cloud微服务架构的文件管理与智能化内容推荐系统
人工智能·spring cloud·架构
Devin~Y20 小时前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security
Flittly1 天前
【AgentScope Java新手村系列】(20)文字转语音TTS
java·spring boot·spring
重生之我是Java开发战士1 天前
【Java EE】Spring IoC 与 DI
java·spring·java-ee
ruleslol1 天前
Spring11-校验框架:@Valid VS @Validated
spring
_waylau1 天前
Spring Framework HTTP服务客户端详解
java·后端·网络协议·spring·http·spring cloud
tryxr2 天前
Spring Cloud eureka
spring·spring cloud·eureka