一旦我们重启应用,Sentinel规则将消失,生产环境需要将配置规则进行持久化 将限流配置规则持久化进Nacos保存,只要刷新服务某个rest地址,sentinel控制台的流控规则就能看到,只要Nacos里面的配置不删除,针对服务上Sentinel上的流控规则持续有效
操作步骤:
1,添加jar
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId> </dependency>
添加Nacos规则

[
{
"resource":"/rateLimit/byUrl",
"limitApp":"default",
"grade":1,
"count":1,
"strategy":0,
"controlBehavior":0,
"clusterMode":false
}
]

yml
server: port: 8401 spring: application: name: cloudalibaba-sentinel-service cloud: nacos: discovery: # Nacos服务注册中心地址 server-addr: localhost:8848 sentinel: transport: # sentinel dashboard 地址 dashboard: localhost:8080 # 默认为8719,如果被占用会自动+1,直到找到为止 port: 8719 # 流控规则持久化到nacos datasource: dsl: nacos: server-addr: localhost:8848 data-id: ${spring.application.name} group-id: DEFAULT_GROUP data-type: json rule-type: flow management: endpoints: web: exposure: include: "*"
测试,重启服务再访问接口测试。 |