在流量控制那篇文章中,我们在sentinel中配置好A服务对应的限流策略后,如果A服务重启就会导致sentinel中配置好的策略丢失,所以需要持久化操作。

流量控制可以有三种方法配置:一种是在sentinel控制台进行配置(服务重启则配置的策略丢失),一种是在代码中进行编写控制,还有就是从nacos中读取进行持久化配置。
限流配置

 [
{
“resource”:"/test", 需要限流的接口
“limitApp”:“default”,
“grade”:1, 阈值类型:1为QPS,0为线程数
“count”:3, 每秒钟单机阈值,超过就会报错
“strategy”:0, 流控模式 0直接,1关联,2链路
“controlBehavior”:0, 设置流控效果 ,0直接拒接,1 Warm up 预热,2排队等待
“clusterMode”:false
},
,
{
“resource”:“POST:http://manage-nacos/get/name”,
“limitApp”:“default”,
“grade”:1,
“count”:3,
“strategy”:0,
“controlBehavior”:0,
“clusterMode”:false
}
]

对应依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- sentinel 流量控制依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>${spring-cloud-alibaba.version}</version>
</dependency>
<!-- sentinel 底层通过actuator来进行监控-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 使用nacos作为sentinel持久化数据源 -->
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

配置文件中进行配置,从nacos中读取配置信息

spring:jackson:default-property-inclusion: non_null # 全局jackson不对null做序列化输出cloud:# 将本服务与 sentinel监控进行绑定sentinel:transport:dashboard: 127.0.0.1:8080datasource:flow-ds: #sentinel从nacos获取指定的流控规则 这个名字可以自定义,不重复就可以nacos:server-addr: 127.0.0.1:8848dataId: flow-servergroupId: DEFAULT_GROUPruleType: flow # flow代表流程控制,degrade代表熔断规则username: nacospassword: nacos

熔断配置

对应参数代表的含义请看 流程控制篇

[{"resource":"/test", 请求路径"count":200,  每秒钟请求响应的平均时间,200就是一秒处理五个请求"grade":0,  降级策略,0为RT平均响应时间"timeWindow":5  熔断时间为5秒}]

服务对应的配置文件

spring:jackson:default-property-inclusion: non_null # 全局jackson不对null做序列化输出cloud:# 将本服务与 sentinel监控进行绑定sentinel:transport:dashboard: 127.0.0.1:8080datasource:flow-ds: #sentinel从nacos获取指定的流控规则 这个名字可以自定义,不重复就可以nacos:server-addr: 127.0.0.1:8848dataId: flow-servergroupId: DEFAULT_GROUPruleType: flow # flow代表流程控制,degrade代表熔断规则username: nacospassword: nacosgrade-ds: #sentinel从nacos获取指定的熔断规则 这个名字可以自定义,不重复就可以nacos:server-addr: 127.0.0.1:8848dataId: degrade-servergroupId: DEFAULT_GROUPruleType: degrade # flow代表流程控制,degrade代表熔断规则username: nacospassword: nacos

sentinel与nacos持久化相关推荐

  1. 限流神器Sentinel与nacos数据双向同步

    sentinel与springcloud.spring cload alibaba 版本选择 版本参考: 版本说明 · alibaba/spring-cloud-alibaba Wiki · GitH ...

  2. Sentinel 基于Nacos规则持久化-推模式

    文章目录 一.推模式架构图 二.原理简述 2.1. 组件版本关系 2.2. 控制台推送规则 三.Sentinel控制台改造 3.1. 下载源码 3.2. 修改pom 3.3. 重要文件复制 3.4. ...

  3. Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 通过上一篇<使用Sentinel实现接口限流>的介绍,相信大家对Sentinel已经有了初 ...

  4. (企业案例)使用Nacos持久化规则,改造sentinel-dashboard

    文章目录 一.前言 1. 版本选取 2. 克隆代码 3. 导入 IDEA 二.全局修改 2.1. 修改 POM 2.2. 修改配置文件 三.后端代码修改 3.1. 包结构部分 3.2. nacos 配 ...

  5. Sentinel配置规则持久化

    前言 在上一篇,我们讲解了基于springboot与Sentinel的整合与使用,但是有个很明显的问题就是,一旦服务重启,当前配置的针对某个接口的规则就丢掉了,然后就需要重新再配一遍,这就很坑爹了,如 ...

  6. Docker下Nacos持久化配置

    本文是<Spring Cloud Alibaba实战系列>的第五篇,学习如何将Nacos服务所用的数据库从嵌入式数据库改为MySql. 系列文章链接 下面是<Spring Cloud ...

  7. 解决sentinel结合nacos实现集群限流(嵌入式)

    本文将为您介绍什么是集群流控,如何使用阿里的开源项目 Sentinel实现动态配置的集群流控的详细内容,以下是详情内容,希望我们能共同学习进步 Why? 为什么要用集群流控? 相对于单机流控而言,我们 ...

  8. nacos持久化配置MySQL8_Nacos 数据持久化 mysql8.0

    java java8 java开发 Nacos 数据持久化 mysql8.0 一.问题描述 直接下载的稳定版本nacos编译后的文件,不支持mysql8及其以上版本,按照官网文档:https://na ...

  9. 【alibaba-cloud】nacos持久化

    一.准备mysql数据库 https://blog.csdn.net/wangyunzhao007/article/details/104230509 二.运行sql脚本 nacos安装包 我自己网盘 ...

最新文章

  1. UA STAT687 线性模型II 最小二乘理论3 广义最小二乘
  2. android flash闪退,Android全面停止Flash Adobe专注HTML5
  3. 深度学习之表面缺陷识别
  4. scanf中的%[^\n]%*c格式
  5. 微信JS SDK开放,前端开发者“鸡冻”了!
  6. Zookeeper系列(一)
  7. Innodb中的buffer poll和redo undo log
  8. 181218每日一句
  9. java将map输出到d盘_java后台的“/”相对路径不是代表webroot吗,为什么在这里代表了d盘,测试的文件都传到了d盘呀?...
  10. modelsim se 10.5安装教程
  11. MBR和GPT分区区别
  12. wireshark抓包工具详细说明
  13. The harvester安装使用
  14. 分段函数求法(if和switch)
  15. 定时启动你的Android App
  16. 微信公众平台消息接口开发(1)
  17. 【一个故事讲完https】聊聊https的诞生
  18. pci-e服务器显卡性能,目前性能最好的显卡 NVIDIA发布Tesla V100,PCI-E接口
  19. ADFでパラメーターのやり取り
  20. 厦门大学“网宿杯“17届程序设计竞赛决赛(同步赛) #题解 #题目都超有趣呀

热门文章

  1. 方方-前端体系课程(一)
  2. 基于yolov5的交通标志牌的目标检测研究设计——思路及概念
  3. 贝叶斯估计的理解及例子
  4. 报错TypeError: Cannot set property ‘type‘ of undefined
  5. Python数据分析<12306信息可视化>
  6. Jquery实现对话框(弹框)功能:
  7. 对话湖湘精英会冯志刚:深度结合产业,完整拥抱资本
  8. 深度操作系统linux qq,Deepin Linux下面QQ的半完美解决方案,有截屏功能
  9. Tensorflow Slim入门教程(1)
  10. 通过OCR的技术怎么识别护照、港澳通行证信息