当前位置: 首页 > news >正文

sentinel集成nacos做持久化配置

sentinel提供了非常强大的控制台来提供流控等功能,但是控制台只是临时的配置,想要将流控配置永久的保存,或者在项目启动的时候就加载,不需要手动设置,就需要使用到nacos与sentinel做集成配置。这里都是不变代码,直接复制粘贴,改一下就可以了

#确认nacos和sentinel启动成功
 

 <!-- 集成Sentinel与nacos相关依赖-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

在模块的配置文件中添加配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服务注册发现地址
        namespace: train
      config:
        server-addr: localhost:8848 # nacos配置中心地址
        file-extension: yaml # 配置后缀名
        namespace: train
    sentinel:
      transport:
        dashboard: localhost:18080 # sentinel控制台地址
        port: 8719 #固定端口
      http-method-specify: true # 开启对http 访问前缀的支持比如GET、PU
      datasource:
        # sentinel临时配置的是临时配置,通过将配置项持久化到nacos中
        flow:
          nacos: # nacos配置
            server-addr: localhost:8848 # nacos服务地址
            data-id: sentinel-business.yml # nacos配置文件名
            rule-type: flow # 流控
            group-id: DEFAULT_GROUP # 分组
            data-type: json # 数据类型
            namespace: train # 命名空间

然后在需要做拦截的接口上添加注解


然后在nacos中的配置文件中注册配置文件

nacos: # nacos配置
   server-addr: localhost:8848 # nacos服务地址
   data-id: sentinel-business.yml # nacos配置文件名
   rule-type: flow # 流控
   group-id: DEFAULT_GROUP # 分组
   data-type: json # 数据类型
   namespace: train # 命名空间

        注意信息要和配置文件一样


 

[{
"resource": "hello", // 资源路径,能够通过@SentinelResource来指定,不一定要写全路径
"limitApp": "default", // 限流针对的应用,默认为 "default"
"grade": 1, // 限流阈值类型,0 表示线程数,1 表示 QPS
"count": 10, // 限流阈值,这里是每秒 10 个请求
"strategy": 0, // 流控策略,0 表示直接拒绝,1 表示Warm Up,2 表示匀速排队
"controlBehavior": 0, // 流控效果,0 表示快速失败,1 表示 Warm Up,2 表示匀速排队,3 表示拒绝后排队
"clusterMode": false // 是否集群模式
}]

相关文章:

  • rk3576上部署deepseek
  • systemverilog刷题小记
  • CodeGPT 使用教程(适用于 VSCode)
  • Kafka 简介
  • 波导阵列天线 学习笔记9 使用紧凑高效率馈网的宽带圆极化阵列天线
  • 【面试题】2025.02.19-前端面试题汇总
  • 图论(四):图的中心性——度中心性介数中心性紧密中心性
  • 学习总结2.19
  • 【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)
  • “深入浅出”系列之C++:(24)ZeroMQ库
  • 炫酷动效登录页
  • DeepSeek学术指南:DeepSeek在文献综述中的能力分享!
  • 练习题 - DRF 3.x Parsers 解析器使用示例和配置方法
  • golang--字符串处理(runeleixing )
  • Idea24.3 如何设置Git忽略某一个文件
  • Luckfox Pico Max运行RKNN-Toolkit2中的Yolov5 adb USB仿真
  • Winform(C#) 项目保存页面
  • 写一个python组件
  • 基于Springboot的网上服装商城系统【附源码】
  • ok113i——交叉编译音视频动态库
  • 网红街区如厕难,如何多管齐下补缺口?
  • 普京提议于15日在土耳其恢复俄乌直接谈判
  • 明查|哈佛大学批改美教育部长来信,红笔标出语法错误?
  • 工程院院士葛世荣获聘任为江西理工大学校长
  • 硅料巨亏后弘元绿能割肉求生:逾12亿元内蒙古公司股权转让协鑫
  • 中美“第二阶段”贸易协定是否会在会谈中提出?商务部回应