sentinel与nacos持久化
在流量控制那篇文章中,我们在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持久化相关推荐
- 限流神器Sentinel与nacos数据双向同步
sentinel与springcloud.spring cload alibaba 版本选择 版本参考: 版本说明 · alibaba/spring-cloud-alibaba Wiki · GitH ...
- Sentinel 基于Nacos规则持久化-推模式
文章目录 一.推模式架构图 二.原理简述 2.1. 组件版本关系 2.2. 控制台推送规则 三.Sentinel控制台改造 3.1. 下载源码 3.2. 修改pom 3.3. 重要文件复制 3.4. ...
- Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则
点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 通过上一篇<使用Sentinel实现接口限流>的介绍,相信大家对Sentinel已经有了初 ...
- (企业案例)使用Nacos持久化规则,改造sentinel-dashboard
文章目录 一.前言 1. 版本选取 2. 克隆代码 3. 导入 IDEA 二.全局修改 2.1. 修改 POM 2.2. 修改配置文件 三.后端代码修改 3.1. 包结构部分 3.2. nacos 配 ...
- Sentinel配置规则持久化
前言 在上一篇,我们讲解了基于springboot与Sentinel的整合与使用,但是有个很明显的问题就是,一旦服务重启,当前配置的针对某个接口的规则就丢掉了,然后就需要重新再配一遍,这就很坑爹了,如 ...
- Docker下Nacos持久化配置
本文是<Spring Cloud Alibaba实战系列>的第五篇,学习如何将Nacos服务所用的数据库从嵌入式数据库改为MySql. 系列文章链接 下面是<Spring Cloud ...
- 解决sentinel结合nacos实现集群限流(嵌入式)
本文将为您介绍什么是集群流控,如何使用阿里的开源项目 Sentinel实现动态配置的集群流控的详细内容,以下是详情内容,希望我们能共同学习进步 Why? 为什么要用集群流控? 相对于单机流控而言,我们 ...
- nacos持久化配置MySQL8_Nacos 数据持久化 mysql8.0
java java8 java开发 Nacos 数据持久化 mysql8.0 一.问题描述 直接下载的稳定版本nacos编译后的文件,不支持mysql8及其以上版本,按照官网文档:https://na ...
- 【alibaba-cloud】nacos持久化
一.准备mysql数据库 https://blog.csdn.net/wangyunzhao007/article/details/104230509 二.运行sql脚本 nacos安装包 我自己网盘 ...
最新文章
- UA STAT687 线性模型II 最小二乘理论3 广义最小二乘
- android flash闪退,Android全面停止Flash Adobe专注HTML5
- 深度学习之表面缺陷识别
- scanf中的%[^\n]%*c格式
- 微信JS SDK开放,前端开发者“鸡冻”了!
- Zookeeper系列(一)
- Innodb中的buffer poll和redo undo log
- 181218每日一句
- java将map输出到d盘_java后台的“/”相对路径不是代表webroot吗,为什么在这里代表了d盘,测试的文件都传到了d盘呀?...
- modelsim se 10.5安装教程
- MBR和GPT分区区别
- wireshark抓包工具详细说明
- The harvester安装使用
- 分段函数求法(if和switch)
- 定时启动你的Android App
- 微信公众平台消息接口开发(1)
- 【一个故事讲完https】聊聊https的诞生
- pci-e服务器显卡性能,目前性能最好的显卡 NVIDIA发布Tesla V100,PCI-E接口
- ADFでパラメーターのやり取り
- 厦门大学“网宿杯“17届程序设计竞赛决赛(同步赛) #题解 #题目都超有趣呀
热门文章
- 方方-前端体系课程(一)
- 基于yolov5的交通标志牌的目标检测研究设计——思路及概念
- 贝叶斯估计的理解及例子
- 报错TypeError: Cannot set property ‘type‘ of undefined
- Python数据分析<12306信息可视化>
- Jquery实现对话框(弹框)功能:
- 对话湖湘精英会冯志刚:深度结合产业,完整拥抱资本
- 深度操作系统linux qq,Deepin Linux下面QQ的半完美解决方案,有截屏功能
- Tensorflow Slim入门教程(1)
- 通过OCR的技术怎么识别护照、港澳通行证信息