Sentinel配置Nacos持久化

发布于:2025-07-18 ⋅ 阅读:(20) ⋅ 点赞:(0)

前言:

        Sentinel在使用控制台时进行配置是纯内存操作,并没有提供默认的持久化措施,一旦服务重启会导致配置的流控、熔断等策略失效。Sentinel官方提供了多种持久化方式如:Redis、Zookeeper、Etcd、Nacos以及其他方式等。此文以Nacos为持久化配置方式进行讲解。

一、Nacos配置

1.在Nacos中添加配置,创建一个json的新的配置文件

规则说明:

resource:资源名称,流控对象

limitApp:流控针对的调用来源,default(不区分)

grade:限流阈值类型,1、QPS,2 、并发线程数

count:限流阈值

strategy:调用关系限流策略,直连、链路、关联,默认(直连)

controlBehavior:流控效果(直接拒接、排队等待、慢启动),默认(直接拒绝)

clusterMode:是否集群,默认(否)

2.完成后发布

二、配置服务 

1.项目pom中引入sentinel_nacos依赖

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
    <version>x.y.z</version>
</dependency>

2. 配置applocation.yml文件

spring:
  cloud:
    sentinel:
      datasource:
        ds1:
          nacos:
            serverAddr: 120.46.40.171:8848 #nacos服务地址端口
            namespace: 2a6c5f46-ace7-47d9-8435-ef675229 #如果没有不需要设置
            dataId: goods_sentinel_flow #配置文件名称
            groupId: DEFAULT_GROUP # 没有指定走默认
            dataType: json # 文件格式
            ruleType: flow # 流控flow, degrade, authority, system, param-flow, gw-flow, gw-api-group

3.参看参数配置:

查看DataSourcePropertiesConfiguration,发现支持多种持久化配置包括我们的nacos

查看nacos源参数

 可参照响应参数进行配置。配置完成后,重启服务。 

4.重启应用查看控制台是否添加

5.流控结果

 流控生效!!! 

借此我们就完成了sentinel使用nacos配置中心做持久化策略的方法,其他持久化方式也是一样的道理,查看具体需要的参数即可。

参考文献:https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel


网站公告

今日签到

点亮在社区的每一天
去签到