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 只是配置下就这样了,不改代码做不到双向同步。

相关推荐
橘猫云计算机设计几秒前
基于JavaWeb的二手图书交易系统(源码+lw+部署文档+讲解),源码可白嫖!
java·开发语言·前端·毕业设计·php
猿java1 分钟前
程序员,你使用过灰度发布吗?
java·分布式·后端
兰亭序咖啡3 分钟前
学透Spring Boot — 007. 加载外部配置
android·java·spring boot
当归10245 分钟前
Tomcat中的webapps的访问方式和java -jar内置Tomcat的访问方式的区别
java·tomcat·jar
magic 24514 分钟前
监听器(Listener)详解
java·servlet·tomcat
嘤国大力士18 分钟前
C++11&QT复习 (十)
java·c++·qt
苏格拉没有底_coder27 分钟前
【Easylive】convertLine2Tree 方法详解
java
Foyo Designer1 小时前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的国际化:支持多语言的 RESTful API
java·spring boot·redis·后端·spring·缓存·restful
Stuild Stuil1 小时前
Mysql 字段值批量自增或自减(坐标系数据,(x,y))
java·javascript·mysql
敲敲敲-敲代码1 小时前
【Kettle安装】Kettle安装过程, 电脑已安装java23,安装Kettle 出现报错:尝试启动 Java 虚拟机(JVM)时失败解决方法
java·kettle