目录

一、简介

二、sentinel持久化案例

三、总结


一、简介

Sentinel Dashboard中添加的规则是存储在内存中的,只要服务重启流控规则就丢失了,一旦我们重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化。下面我们就来看看如何持久化sentinel流控规则。

二、sentinel持久化案例

我们先来看看没有配置持久化规则的情况:

启动【springcloudalibaba-sentinel-service8401】服务,浏览器访问:http://localhost:8401/sentinel

在sentinel控制台配置/sentinel资源对应的流控规则:

然后我们停掉【springcloudalibaba-sentinel-service8401】服务然后再重新启动,回到sentinel控制台观察流控规则是否还存在:

我们发现,当我们重启服务后,sentinel控制台配置的流控规则消失了,可见sentinel控制台配置的流控规则时临时的。

下面我们来看下如何将sentinel流控规则进行持久化。我们需要稍微改造一下模块【springcloudalibaba-sentinel-service8401】

【a】pom.xml加入如下依赖

<!--SpringCloud ailibaba sentinel-datasource-nacos 持久化--><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>

【b】application.yml:添加sentinel持久化配置

server:port: 8401
spring:application:name: springcloudalibaba-sentinel-servicecloud:nacos:discovery:server-addr: localhost:8848   #指定nacos服务器地址sentinel:transport:dashboard: localhost:8080   #指定sentinel控制台的地址tport: 8719  #sentinel api端口, 默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口datasource:ds1:nacos:server-addr: localhost:8848   #指定nacos服务器地址dataId: ${spring.application.name}groupId: DEFAULT_GROUPdata-type: jsonrule-type: flow
management:endpoints:web:exposure:include: '*'   #配置对外暴露端口

【c】添加nacos业务规则配置

[{"resource": "/sentinel","limitApp": "default","grade": 1,"count": 1,"strategy": 0,"controlBehavior": 0,"clusterMode": false}
]

规则分析:

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

【d】重启8401服务

启动完成后浏览器访问:http://localhost:8401/sentinel

然后我们去sentinel控制台看下是否存在刚刚的流控规则:

我们发现,sentinel控制台的流控规则已经有了。

【e】快速访问业务接口http://localhost:8401/sentinel

可以看到,流控规则已经成功生效。

【f】停止8401服务

我们停止8401服务,发现sentinel控制台里面的流控规则又没有了。

然后我们重启8401服务, 重新请求几次对应资源接口http://localhost:8401/sentinel,再看sentinel控制台:

我们发现sentinel流控规则又出现了,这样就成功实现了sentinel规则的持久化。

三、总结

本篇文章主要介绍了如何将sentinel配置的流控规则持久化进nacos,这样保证每次重启服务后资源对应的流控规则都不会消失,在生产环境中,肯定是要将sentinel规则进行持久化的。以上相关项目的代码我已经放在Gitee上,有需要的小伙伴可以去拉取进行学习:https://gitee.com/weixiaohuai/springcloud_Hoxton,由于笔者水平有限,如有不对之处,还请小伙伴们指正,相互学习,一起进步。

下面是笔者总结的关于Spring Cloud Alibaba教程系列文章目录,有需要的小伙伴可以前往学习:

1. Spring Cloud Alibaba入门简介

2. Spring Cloud Alibaba Nacos之服务注册中心

3. Spring Cloud Alibaba Nacos之服务配置中心

4. Spring Cloud Alibaba Nacos集群和持久化配置

5. Spring Cloud Alibaba Sentinel之入门篇

6. Spring Cloud Alibaba Sentinel之流控规则篇

7. Spring Cloud Alibaba Sentinel之服务降级篇

8. Spring Cloud Alibaba Sentinel之热点参数限流篇

9. Spring Cloud Alibaba @SentinelResource配置详解

10. Spring Cloud Alibaba Sentinel之服务熔断篇

11. Spring Cloud Alibaba Sentinel之持久化篇

12. Spring Cloud Alibaba Seata处理分布式事务及案例实战

13. Spring Cloud Alibaba Seata工作原理

Spring Cloud Alibaba Sentinel之持久化篇相关推荐

  1. 【SpringCloud】Spring cloud Alibaba Sentinel 规则持久化

    1.概述 服务重启后,页面上配置的规则就消失了,生产上是一样要持久化的. 将限流配置规则持久化进Nacos保存,只要刷新8401某个rest地址,sentinel控制台的流控规则就能看到, I只要Na ...

  2. Spring Cloud Alibaba | Sentinel: 服务限流高级篇

    Spring Cloud Alibaba | Sentinel: 服务限流高级篇 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如无特殊说明 ...

  3. Spring Cloud Alibaba —— Sentinel 详细使用

    导航 引言 一.Sentinel的两个基本概念 二.流控规则 2.1 基本选项 2.2 高级选项 三.熔断(降级)规则 四.热点规则 五.授权规则(了解) 六.系统规则(了解) 七.自定义异常返回 八 ...

  4. spring cloud alibaba sentinel 学习

    sentinel 学习 介绍(官方文档) 流量控制设计理念 熔断降级 Hystrix Sentinel 系统自适应保护 spring cloud alibaba sentinel sentinel.d ...

  5. 【java_wxid项目】【第十六章】【Spring Cloud Alibaba Sentinel集成】

    主项目链接:https://gitee.com/java_wxid/java_wxid 项目架构及博文总结: 点击:[使用Spring Boot快速构建应用] 点击:[使用Spring Cloud O ...

  6. spring cloud Alibaba Sentinel中文文档

    spring cloud Alibaba Sentinel中文文档 github中的中文文档:https://github.com/alibaba/Sentinel/wiki/介绍

  7. 【SpringCloud】Spring cloud Alibaba Sentinel 降级规则

    文章目录 1.概述 2.服务降级 2.1 RT 2.2 异常比例 2.3 异常数 1.概述 本章是接着上一章讲解:[SpringCloud]Spring cloud Alibaba Sentinel ...

  8. Spring Cloud Alibaba - Sentinel入门案例(四)(热点规则 )

    Spring Cloud Alibaba - Sentinel入门案例(四)(热点规则 ) 回溯 什么是Sentinel? 正文 环境准备 简单使用 复杂使用 注意事项 回溯 什么是Sentinel? ...

  9. 深度思考 Spring Cloud + Alibaba Sentinel 源码原理

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. 作者 | 向寒 / 孙玄 来源 | 架构之美 ...

  10. Spring Cloud Alibaba —— Sentinel 入门

    导航 一.什么是Sentinel 1.1 Sentinel 的优点 二.整合 Sentinel 演示 三.Sentinel控制台与微服务通信的原理 四.Sentinel 流控演示 一.什么是Senti ...

最新文章

  1. 英特尔又做了一个违背祖宗的决定:布局RISC-V
  2. 语言兔子繁衍问题讲解_二年级思维数学:位置问题,找到重复部分是解题关键...
  3. docker挂载的目录无法读写
  4. git 简单操作流程图
  5. python设置一个初始为0的计数器_python中统计计数的几种方法
  6. 如何学习开源项目及Ceph的浅析
  7. Java JDBC初步
  8. JavaScript强化教程——数组的基本处理函数
  9. HTML5之美一 --- 转载
  10. ActiveMQ从入门到精通(二)
  11. C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。
  12. EMOS批量创建用户邮箱
  13. 批量打印证书 php,巧用WPS2013批量打印证书
  14. Android剪切板标签,教你使用剪切板——Android中的复制粘贴
  15. android资源文件assets
  16. 核心技术解析:移动端车牌识别系统方案
  17. 【思维】SCU 4437 Carries
  18. HTML识别文本空格回车换行展示
  19. 对基层技术管理者的一些建议
  20. 计算机内存坏了是什么反应,电脑内存损坏会引起哪些故障

热门文章

  1. 用计算机弹假面骑士build,假面骑士build使用的武器汇总,你知道几个?
  2. c++ map的存储结构_深度解密Go语言之sync.map
  3. mmlspark-102 : 简单的ML Pipelines
  4. Json转换为Model,Struct,Class对象 Swift
  5. 2021-09-03101. 对称二叉树
  6. 如何提升沟通技能与提出解决方案
  7. 213.打家劫舍II
  8. linux mysql 开发_Linux64下mysql安装和开发
  9. module 'bit' not found:No LuaRocks module found for bit
  10. vofuria的开发(2)利用android studio+vuforia搭建AR开发环境