SpringCloud Alibaba——Sentinel服务熔断与限流(六、规则持久化配置)

简介: SpringCloud Alibaba——Sentinel服务熔断与限流(六、规则持久化配置)

1.开篇



前面陆陆续续5篇都在说sentinel服务降级、限流、熔断功能,这是最后一篇了,来聊一聊sentinel中的持久化配置吧。

首先说一下什么是持久化?——之前我们在做测试的时候,会在sentinel的界面中添加一些配置信息。但是当我们重启这些微服务之后,再到sentinel中查看,会发现之前配置的东西已经不存在了。


可能我们现在写的这些小项目顶多一两个配置文件,每次重启配置文件没了,我们就重新再新建这些配置文件。但是后面进了企业,配置文件肯定会越来越多,你还想去重新新建这些配置文件吗?你还有时间去再写一遍这些配置文件吗?肯定是:不!!!


这就引出了sentinel中的持久化规则配置。也就是说生产环境上需要对配置规则进行持久化。

2.项目源码


github源码地址:https://github.com/2656307671/SpringCloud-Alibaba-Sentinel

gitee源码地址:https://gitee.com/szh-forever-young/SpringCloud-Alibaba-Sentinel


下面的测试对应了git仓库中的8401这个微服务模块。


将限流配置规则持久化进Nacos保存,只要刷新8401某个rest地址,sentinel控制台的流控规则就能看到,只要Nacos里面的配置不删除,针对8401sentinel上的流控规则持续有效。

首先需要在pom中添加 sentinel-datasource-nacos 依赖;在yml中的sentinel标签下添加nacos数据源datasource下的配置,详情参考git仓库。


我们在nacos中添加配置。配置信息解释:


resource:资源名称;
limitApp
:来源应用;
grade
:阈值类型,0表示线程数,1表示QPS
count
:单机阈值;
strategy
:流控模式,0表示直接,1表示关联,2表示链路;
controlBehavior
:流控效果,0表示快速失败,1表示Warm Up2表示排队等待;
clusterMode
:是否集群。


启动8401微服务模块,访问一次 /rateLimit/byUrl 请求,然后到sentinel中可以看到簇点链路已经有了。


因为我在nacos中的配置规则中定义的是 QPS > 1 则触发降级限流,多次访问,则出现下图的sentinel默认降级页面信息。


然后我们将8401微服务模块停掉,此时再到sentinel中查看,可以看到刚刚配置的的流控规则已经没了。


因为我们进行了规则持久化配置,也就是pom依赖 + yml起到了作用,再次重启8401微服务模块,稍等一会(同时多次访问 /rateLimit/byUrl 请求),之后刷新sentinel页面,可以看到刚刚的/rateLimit/byUrl 请求对应的流控规则又出现了,此时就说明持久化验证通过。


3.服务熔断与限流框架的比较


相关文章
|
1天前
|
XML SQL Java
SpringCloud 基础配置
SpringCloud 基础配置
13 0
|
1天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
1天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
1天前
Springcloud-ribbon和hystrix配置
Springcloud-ribbon和hystrix配置
10 0
|
1天前
Springcloud-配置
Springcloud-配置
12 0
|
1天前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
795 0
|
1天前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
28 0
|
1天前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
254 0
|
1天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
201 0
|
1天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
28 0