Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 官网
1.版本选择
参考 SpringCloudAlibaba SpringCloud SpringBoot 版本对照-CSDN博客
依赖版本:
spring-boot:2.3.12.RELEASE
spring-cloud-alibaba:2.2.7.RELEASE
spring-cloud:Hoxton.SR12
nacos:2.0.3
Sentinel: 1.8.1
Springboot SpringCloudAlibaba Nacos 项目搭建-CSDN博客
Linux 部署Sentinel控制台-CSDN博客
2.添加依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>${spring-cloud-alibaba.version}</version></dependency>
3.简单配置
spring:sentinel:transport:dashboard: 127.0.0.1:8080
4.测试访问项目接口
http://xxxx/api/user/getName
http://xxxxx/api/order/123
5.控制台流量控制
资源名:直接填写请求路径
来源应用:默认default 不区分来源
流控模式:默认 直接,关联(关联资源达到阀值限流自己)、链路(记录指定链路流量)
阈值类型:默认 QPS(每秒响应请求数),线程数。
阈值:指定1,即每秒1次访问
阀值类型:默认单机
流控效果:默认直接失败(抛出异常)、Warm Up(增加预热时长)、排队等待。