Spring Cloud Alibaba——Sentinel持久化

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

导依赖

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

<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监听,我们还需增加配置如图:

datasource:
    ds1:
       nacos:
         server-addr: localhost:8848
         dataId: cloudalibaba-sentinel-service
         groupId: DEFAULT_GROUP
         data-type: json
         rule-type: flow

nacos配置

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

tip

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

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

经验分享 程序员 微信小程序 职场和发展