天天看点

Spring Cloud Alibaba——Sentinel持久化导依赖改ymlnacos配置tip

Sentinel持久化

  • 导依赖
  • 改yml
  • nacos配置
  • tip

大家在用sentinel的时候不知道有没有注意到,我们每次重启服务,sentinel中为其配置的一些规则就消失了,我们在学习的时候,一两个简单配置还可以自己再重新配置下,但如果是大型项目呢?每次服务重启更新等等,怎么办???这里就需要使sentinel配置持久化了(我们这里选用直接配置在nacos中) 步骤如下:

导依赖

除了默认的nacos和sentinel依赖,我们还需导入一个依赖如图:

Spring Cloud Alibaba——Sentinel持久化导依赖改ymlnacos配置tip
<dependency>
        <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        
        <!-- spring cloud alibaba sentinel        -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

        <!-- 后续做持久化用到       -->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>
           

改yml

除了基础的注册到nacos和被sentinel监听,我们还需增加配置如图:

Spring Cloud Alibaba——Sentinel持久化导依赖改ymlnacos配置tip
datasource:
    ds1:
       nacos:
         server-addr: localhost:8848
         dataId: cloudalibaba-sentinel-service
         groupId: DEFAULT_GROUP
         data-type: json
         rule-type: flow
           

nacos配置

Spring Cloud Alibaba——Sentinel持久化导依赖改ymlnacos配置tip
Spring Cloud Alibaba——Sentinel持久化导依赖改ymlnacos配置tip

配置好后,点击发布。over,收工…接下来你每次重新启动服务,访问该资源路径就能看到已配好的规则了。

具体的配置内容解释如下

resource: 资源名称

limitApp: 来源应用

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

count:单机阈值

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

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

clusterMode: 是否集群

tip

没成功的小伙伴看看单词是否拼写对,或者格式是否对齐等等。还有一个建议就是你的nacos是否需要配置持久化进mysql呢? 若需要了解,可以看看之前的文章哦!

若发现错误,谢谢指正!!!

继续阅读