sentinel笔记9- 限流规则持久化(上)

之前的在sentinel 控制台配置的规则,重启后就消失了,sentinel 限流保护-笔记-CSDN博客

本篇还是在之前的demo做验证,使用nacos做持久化。

规则集成Nacos

1 引入依赖

复制代码
        <!--nacos-discovery  注册中心依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!-- nacos-config 配置中心依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
         <!--以nacos作为sentinel数据源的依赖-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

就是备注的:sentinel-datasource-nacos

2 修改配置文件:

可以在nacos对应的改,也在在工程的application.yml改。我贴一下sentinel相关的。

复制代码
sentinel:
      transport:
        port: 8719
        # 添加sentinel的控制台地址
        dashboard: tlmall-sentinel-dashboard:8888
      datasource:
        nacos:
          nacos:
            server-addr: localhost:8848
            data-id: tlmall-storage-flow-rules.json
            rule-type: flow
            group-id: DEFAULT_GROUP
            username: nacos
            password: nacos
  config:
    import:
      - optional:nacos:${spring.application.name}.yml
      - optional:nacos:db-common.yml    #数据库公共配置
      - nacos:nacos-discovery.yml
      - optional:nacos:seata-client.yml

3 nacos配置规则

注意,dataid跟上面配置信息保持一致。

参数的含义:

验证:

重启sentinel ,

也可以再用postman测试下效果,超过阈值的会被拦截。

小结:

nacos中的配置文件对于sentinel来讲是单项数据读入,sentinel能监听到nacos中配置的变化,但是我们在sentinel中修改了配置,nacos是不会监听到并进行修改。目前使用的版本1.8.6 只是配置下就这样了,不改代码做不到双向同步。

相关推荐
悲且狂19 分钟前
SpringBoot项目改造注意事项(旧项目框架复用)
java·spring boot·后端
花间相见1 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
敲代码的嘎仔1 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂
程序员黎剑2 小时前
Spring-Bean生命周期-构造器访问Autowired字段为null
java·后端·spring
古法安卓3 小时前
Android-重启流程源码解析
android·java·android studio
清水白石0083 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h3 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林3 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
洋不写bug3 小时前
绕过权限检查,访问修改私有属性,反射,枚举,lambda
java·枚举·lambda·反射
evans在进步4 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式