规则持久化【结合 Nacos】

规则持久化【结合 Nacos】

如果 sentinel 流控规则没有持久化,当重启调用API/接口所在微服务后,规则就会丢失,需要重新加入

需求:

  1. 为member-service-nacos-consumer-81 微服务的/member/openfeign/consumer/get/1 API 接口添加流控规则QPS=1/快速失败.
  2. 要求将该流控规则加入到nacos server 配置中心,实现持久化

1. 在 Nacos Server 配置中心增加 Sentinel 客户端 / 微服务模块 的流控规则


点击 + 号,新增配置

新增json配置

[
    {
        "resource":"/member/openfeign/consumer/get/1",	// 资源名称;
        "limitApp": "default",	//	流控针对的调用来源,若为 default 则不区分调用来源
        "grade": 1,	//	阈值类型【0:线程数,1:QPS】
        "count": 1,	//	限流阈值
        "strategy": 0,	//	流控模式【0:直接,1:关联,2:链路】
        "controlBehavior": 0,	//	流控效果【0:快速失败,1: Warm Up,2:排队等待】
        "clusterMode": false	//	是否集群
    }
]

2. 在Nacos Server 配置中心增加Sentinel 客户端/微服务模块的流控规则参数说明

<!-- 引入 sentinel 和 nacos 持久化整合依赖,使用版本仲裁 -->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

修改 application.yml,配置该微服务从 Nacos Server 获取流控规则 datasource 和 transport 一个层级

    cloud:
      nacos:
        discovery:
          server-addr: localhost:8848
      # 配置 sentinel
      sentinel:
        transport:
          dashboard: localhost:9999
          port: 8888
        datasource:
          ds1:
            # 流控规则配置是从 Nacos Server【Redis】 配置中心获取
            nacos:
              server-addr: localhost:8848
              dataId: member-service-nacos-consumer-81
              groupId: DEFAULT_GROUP  # 指定组【Nacos Server 配置中心】
              data-type: json # 指定配置流控规则的数据类型
              rule-type: flow # 规则类型:流控 【文档】

测试:

其它规则:

名称 规则
flow 流控规则
degrade 降级规则
param-flow 热点规则
system 系统规则

3. 配置其它规则

参考文档:https://sentinelguard.io/zh-cn/docs/basic-api-resource-rule.html

相关推荐

  1. sentinel整合nacos持久

    2023-12-13 10:08:17       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 10:08:17       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 10:08:17       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 10:08:17       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 10:08:17       18 阅读

热门阅读

  1. pandas 遍历

    2023-12-13 10:08:17       40 阅读
  2. Qt打包

    2023-12-13 10:08:17       50 阅读
  3. 12.12总结

    2023-12-13 10:08:17       44 阅读
  4. get请求数组参数,格式转换

    2023-12-13 10:08:17       59 阅读
  5. 【异步】CompletableFuture

    2023-12-13 10:08:17       44 阅读
  6. 深入了解RPM包管理与Nginx源码包管理

    2023-12-13 10:08:17       49 阅读
  7. clickhouse sql优化笔记

    2023-12-13 10:08:17       41 阅读
  8. 逃逸分析案例

    2023-12-13 10:08:17       54 阅读
  9. 每日总结

    2023-12-13 10:08:17       39 阅读
  10. ferry前端项目部署

    2023-12-13 10:08:17       49 阅读
  11. selenium

    2023-12-13 10:08:17       58 阅读
  12. openresty动态解析域名

    2023-12-13 10:08:17       44 阅读
  13. Linux的bash脚本

    2023-12-13 10:08:17       55 阅读
  14. AtCoder Grand Contest 001

    2023-12-13 10:08:17       55 阅读
  15. TCP和UDP的区别

    2023-12-13 10:08:17       36 阅读
  16. Git合并代码(rebase)

    2023-12-13 10:08:17       39 阅读
  17. android重启app

    2023-12-13 10:08:17       42 阅读
  18. Python——第五章:json模块

    2023-12-13 10:08:17       42 阅读
  19. 12月10号总结

    2023-12-13 10:08:17       42 阅读
  20. Nginx——记录post请求回执405的一种解决方式

    2023-12-13 10:08:17       50 阅读
  21. 代码编译出错可能的原因

    2023-12-13 10:08:17       65 阅读
  22. OOP

    2023-12-13 10:08:17       54 阅读