Sentinel配置规则持久化至Nacos

问题

一旦我们重启应用,sentinel规则消失,生产环境需要将配置规则进行持久化。

这里配置一个流控规则:

Sentinel配置规则持久化至Nacos

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

Sentinel配置规则持久化至Nacos

将限流规则持久进Nacos保存,只要刷新8401某个rest地址,sentinel控制台的流控规则就能看得到,只要Nacos里面的配置不删除,针对8401上的流控规则持续有效。

配置

pom文件添加依赖:

<dependency>
     <groupId>com.alibaba.csp</groupId>
     <artifactId>sentinel-datasource-nacos</artifactId>
 </dependency>

配置文件yml,在原有的基础上添加如下配置:

Sentinel配置规则持久化至Nacos

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业务规则配置:

Sentinel配置规则持久化至Nacos

resource:资源名称

limitApp:来源的应用

grade:阈值类型:0:表明线程数,1表明QPS

count:单机阈值

strategy:流控模式:0:表明直接,1:表明关联,2:表明链路

controlBehavior:流控效果:0:表明快速失败,1:表明Warm up,2:表明排队等待

clusterMode:是否集群

配置流控规则

Sentinel配置规则持久化至Nacos

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

Sentinel配置规则持久化至Nacos

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

Sentinel配置规则持久化至Nacos

设置的规则也生效。至此,sentinel的持久化的demo完成了。

© 版权声明

相关文章

1 条评论

  • 头像
    溪宁不是西宁 投稿者

    收藏了,加油

    无记录
    回复