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.服务熔断与限流框架的比较


相关文章
|
6月前
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
7月前
|
人工智能 SpringCloudAlibaba 自然语言处理
SpringCloud Alibaba AI整合DeepSeek落地AI项目实战
在现代软件开发领域,微服务架构因其灵活性、可扩展性和模块化特性而受到广泛欢迎。微服务架构通过将大型应用程序拆分为多个小型、独立的服务,每个服务运行在其独立的进程中,服务与服务间通过轻量级通信机制(通常是HTTP API)进行通信。这种架构模式有助于提升系统的可维护性、可扩展性和开发效率。
2306 2
|
9月前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
1276 8
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
9月前
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
1859 13
Spring Cloud Alibaba:一站式微服务解决方案
|
9月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
9月前
|
SpringCloudAlibaba JavaScript Dubbo
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
本文介绍了 Dubbo-Admin 的安装和使用步骤。Dubbo-Admin 是一个前后端分离的项目,前端基于 Vue,后端基于 Spring Boot。安装前需确保开发环境(Windows 10)已安装 JDK、Maven 和 Node.js,并在 Linux CentOS 7 上部署 Zookeeper 作为注册中心。
2792 1
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
|
9月前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇
|
8月前
|
人工智能 安全 Java
AI 时代:从 Spring Cloud Alibaba 到 Spring AI Alibaba
本次分享由阿里云智能集团云原生微服务技术负责人李艳林主讲,主题为“AI时代:从Spring Cloud Alibaba到Spring AI Alibaba”。内容涵盖应用架构演进、AI agent框架发展趋势及Spring AI Alibaba的重磅发布。分享介绍了AI原生架构与传统架构的融合,强调了API优先、事件驱动和AI运维的重要性。同时,详细解析了Spring AI Alibaba的三层抽象设计,包括模型支持、工作流智能体编排及生产可用性构建能力,确保安全合规、高效部署与可观测性。最后,结合实际案例展示了如何利用私域数据优化AI应用,提升业务价值。
784 4
|
8月前
|
人工智能 自然语言处理 Java
Spring Cloud Alibaba AI 入门与实践
本文将介绍 Spring Cloud Alibaba AI 的基本概念、主要特性和功能,并演示如何完成一个在线聊天和在线画图的 AI 应用。
2168 7
|
11月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。

热门文章

最新文章