问题
一旦我们重启应用,sentinel规则消失,生产环境需要将配置规则进行持久化。
这里配置一个流控规则:

重启应用,刚配置的流控不见了。

将限流规则持久进Nacos保存,只要刷新8401某个rest地址,sentinel控制台的流控规则就能看得到,只要Nacos里面的配置不删除,针对8401上的流控规则持续有效。
配置
pom文件添加依赖:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
配置文件yml,在原有的基础上添加如下配置:

server:
port: 8401
spring:
application:
name: cloudalibaba-sentinel-service
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
sentinel:
transport:
dashboard: localhost:8080 #配置Sentinel dashboard地址
port: 8719
datasource:
ds1:
nacos:
server-addr: localhost:8848
dataId: cloudalibaba-sentinel-service
groupId: DEFAULT_GROUP
data-type: json
rule-type: flow
management:
endpoints:
web:
exposure:
include: '*'
添加Nacos业务规则配置:

resource:资源名称
limitApp:来源的应用
grade:阈值类型:0:表明线程数,1表明QPS
count:单机阈值
strategy:流控模式:0:表明直接,1:表明关联,2:表明链路
controlBehavior:流控效果:0:表明快速失败,1:表明Warm up,2:表明排队等待
clusterMode:是否集群
配置流控规则

重启应用,浏览器输入请求。
http://localhost:8401/test,打开流控规则,发现我们刚才配置的流控规则还在,并未消失。

频繁的访问
http://localhost:8401/test,超过设置的阈值时。

设置的规则也生效。至此,sentinel的持久化的demo完成了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。



收藏了,加油