--异常比例:需要设置一个比例阈值,当异常比例达到该阈值时进行熔断降级 。
--异常数:需要设置一个异常数,达到该异常数时进行熔断降级 。
降级需要设置一个熔断时长和最小请求数,代表熔断持续的时间,当大于最小请求数时降级规则才生效 。
- 热点
热点即经常访问的数据, 很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制 。对请求中携带的参数进行判断是否是热点数据,是热点数据则根据规则限流 。需要设置参数所有和阈值,参数所有从0开始代表请求的第几个参数是热点参数 。
- 授权
授权其实就是黑白名单的设置,黑名单模式代表黑名单里的不允许访问,白名单模式代表白名单里的才允许访问 。需要设置对应的应用名称 。
我们以流控操作来做个示例,我们在根请求接口的资源上配置一个流控规则 。

文章插图
示例配置
设置阈值类型为QPS,阈值为1,代表每秒只能通过1个请求 。我们来看看效果 。
浏览器请求接口,然后按F5不停刷新,可以看到每秒会出现一次返回一次正确信息,其他都会返回限流信息 。

文章插图
返回正确信息

文章插图
返回限流信息
项目接入控制台部分就讲到这了,需要注意的是这里的控制台配置是存在内存中的,如果你的项目重新启动配置的规则就没了,所以我们需要一个可以持久化配置规则的地方,接下去我们介绍下Nacos来持久化存储Sentinel配置规则 。
使用Nacos存储规则并实时更新Sentinel提供了多种数据源的支持,包括Nacos、Zookeeper、文件数据源等 。

文章插图
使用Nacos存储需要先安装Nacos,可以看我的另外一篇Nacos安装教程文章 。
1.引入Nacos依赖
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId></dependency>2.配置Nacos数据源安装完Nacos后我们首先在项目中配置Sentinel的数据源为Nacos 。
spring: application: name: sentinel cloud: sentinel: transport: port: 8719 dashboard: localhost:8080 #启动本项目后需要请求一次才能向sentinel控制台注册 datasource: ds2: nacos: server-addr: 192.168.67.129:8848 data-id: sentinel group-id: Sentinel:Demo data-type: json rule-type: flowds2是数据源名称,其他主要配置下:- Nacos的地址
- data-id和group-id:等会需要在Nacos控制台新增一个同样的配置才能生效
- data-type:配置规则数据类型
- rule-type:flow代表流控类型
我们在Nacos控制台的配置列表新增一个配置 。

文章插图
新增一个配置

文章插图
新增一个配置
配置内容部分如下:
[ { "resource": "/", "limitApp": "default", "grade": 1, "count": 2, "strategy": 0, "controlBehavior": 0, "clusterMode": false }]resource:资源名,资源名是限流规则的作用对象
推荐阅读
- 自媒体创作-无版权素材资源网站分享
- IPSec VPN中如何传输动态路由协议?理论知识分析实现原理
- Java内置条件队列应用,实现经典的生产者消费者算法
- 用Python实现蒙特卡罗模拟的详细教程
- 基于Redis实现的分布式锁知识点总结
- 考试|公务员考不进怎么办?有空考个健康管理师,轻松涨工资,满足这2点即可报名
- 基于SSM实现的个人网盘系统源码
- Spring Boot中一接多口实现
- 券商|推行职业经理人制度,如何与工资总额管理漂亮配合
- 58金融前端脚手架的设计与实现
