springboot项目接入Sentinel控制台配置规则1.引入依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>
注意我这里没有写版本,因为我在父项目的pom文件中指定了阿里巴巴的依赖版本,子项目的相关依赖会自动寻找版本 。
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR8</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.3.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement>
2.配置yml
接下去我们可以在项目中连接到该控制台,这样项目里的资源就可以被控制台管理了 。
spring: Application: name: sentinel cloud: sentinel: transport: port: 8719 dashboard: localhost:8080 #启动本项目后需要请求一次才能向sentinel控制台注册
注意:启动项目后需要请求一次项目才能向sentinel控制台注册 。
启动项目后我们请求一下项目随便一个接口,然后在控制台可以看到多了一个新项目的菜单了 。
文章插图
新项目的菜单
3.控制台配置项目资源规则
我在项目里写了一个简单的接口如下:
@RequestMapping("/")public String test(){ return "ok";}
可以在控制台的簇点链路菜单看到这个接口资源 。文章插图
簇点链路菜单
可以看到表格右边有四个按钮,可以对该资源进行流控、降级、热点、授权的配置 。
- 流控
流量控制,可以在流控中设置主要三块内容:阈值类型+阈值、流控模式、流控效果 。
文章插图
流控
阈值类型+阈值:可以设置QPS的阈值,代表每秒最多允许请求多少次资源;可以设置线程数,代表可以同时运行的线程数量 。
流控模式:有直接、关联、链路三种 。
--直接:代表超过阈值直接限流
--关联:代表关联的资源达到阈值时也进行限流(比如支付接口不行了把下单接口也限流掉) 。
--链路:代表当服务到达阈值时,所有使用该服务的服务也限流 。
流控效果:有快速失败、Warm Up、排队等待三种 。
--快速失败:直接限流操作 。
--Warm Up:冷启动,需要配置预热时长,意思是当突然有大量请求时慢慢的放一些请求通过,预热时长过后恢复到正常限流状态,达到阈值时再进行限流 。
--排队等待:让限流的请求排队等待系统空闲时再通过,需要配置超时时间,过了超时时间再拒绝请求 。
- 降级
降级有慢调用比例、异常比例、异常数三种熔断策略 。
文章插图
降级
--慢调用比例:需要设置最大RT(最大的响应时间)和比例阈值(0.0至1.0之间),请求大于最大RT的判定为慢调用,当慢调用比例到达比例阈值时进行熔断降级 。
推荐阅读
- 自媒体创作-无版权素材资源网站分享
- IPSec VPN中如何传输动态路由协议?理论知识分析实现原理
- Java内置条件队列应用,实现经典的生产者消费者算法
- 用Python实现蒙特卡罗模拟的详细教程
- 基于Redis实现的分布式锁知识点总结
- 考试|公务员考不进怎么办?有空考个健康管理师,轻松涨工资,满足这2点即可报名
- 基于SSM实现的个人网盘系统源码
- Spring Boot中一接多口实现
- 券商|推行职业经理人制度,如何与工资总额管理漂亮配合
- 58金融前端脚手架的设计与实现