这一篇记录一下Sentinel的最后一篇,各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!

目录

Sentinel持久化到Nacos

pom文件

yml文件

新增Nacos配置

完善测试类

测试

Sentinel持久化到Mysql


​​​​​​​

Sentinel持久化到Nacos

前面我们测试的时候,发现每次重启项目后在Sentinel中配置的规则都会清空,很是麻烦,我们可以通过持久化的方式解决这个问题。

pom文件

在alibaba-sentinel-server中添加以下依赖:

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

yml文件

修改yml文件,添加Nacos数据源配置,在sentinel配置下追加如下配置:

datasource:
        ds1:
          nacos:
            server-addr: localhost:8848
            dataId: alibaba-sentinel-server # 微服务名称
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow # 流控规则

完整yml如下:

server:port: 8401spring:application:name: alibaba-sentinel-servercloud:nacos:discovery:server-addr: localhost:8848sentinel:transport:dashboard: localhost:8080#默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口port: 8719datasource:ds1:nacos:server-addr: localhost:8848dataId: alibaba-sentinel-server # 微服务名称groupId: DEFAULT_GROUPdata-type: jsonrule-type: flow # 流控规则management:endpoints:web:exposure:include: '*'

新增Nacos配置

配置如下:

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

完善测试类

测试类FlowLimitController中添加以下测试方法:

    @GetMapping("/persistent")public String persistent() {log.info("persistent 测试持久化");return "------persistent 测试持久化";}

测试

我们重启alibaba-sentinel-server服务,浏览器访问  http://localhost:8401/persistent ,然后刷新下Sentinel的页面,发现刚才配置的流控规则还在,说明持久化配置生效。

Sentinel持久化到Mysql

关于Sentinel的持久化,官方文档有介绍 点此查看  ​​​​​​​

源码中也有推荐的博客及源码可以参考,感兴趣自己下载下来源码自己改下持久化到mysql的方式。

​​​​​​​

Sentinel持久化相关推荐

  1. Sentinel+Nacos实现Sentinel的持久化规则,就很nice!

    如果不对Sentinel进行持久化,一旦服务器断开,那我们配置的限流规则就不存在了.官方推荐了使用Sentinel持久化到Nacos,至于为什么这样,不推荐一家的产品,留着过年呀! 文章目录 1.导入 ...

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

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

  3. Sentinel动态推拉数据持久化同步到Nacos

    前言 在我们使用Sentinel做熔断限流等操作时,一些设置好的配置默认是存放在当前服的内存中的,那么也就意味着每次重启服务,这些配置好的配置就会消失.在我们搭建微服务架构做测试的时候不是很友好.大家 ...

  4. sentinel与nacos持久化

    在流量控制那篇文章中,我们在sentinel中配置好A服务对应的限流策略后,如果A服务重启就会导致sentinel中配置好的策略丢失,所以需要持久化操作. 流量控制可以有三种方法配置:一种是在sent ...

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

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

  6. Sentinel降级服务

    Sentinel降级简介 Sentinel熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误. ...

  7. Sentinel之限流、降级、系统保护、热点、授权规则

    简介 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度来帮助用户保护服务的稳定性. 本文主要讲限 ...

  8. Spring Cloud Alibaba (三)Sentinel 简单介绍和使用

    前言 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统自适应保护等多个维度来帮助您保障微服务 ...

  9. SpringCloud Alibaba Sentinel实现熔断与限流(下)

    在上一篇讲了sentinel的介绍,安装Sentinel控制台.初始化演示工以及程流控规则 接下来学习熔断规则,热点key限流,系统规则,@SentinelResource注解,服务熔断功能以及规则持 ...

最新文章

  1. Ubuntu 14.04下安装ns-2.35详细教程
  2. WSUS注冊表導入,工作組用戶系統更新
  3. 微服务中为什么需要服务发现?
  4. Machine Learning On Spark——基础数据结构(二)
  5. html点击按钮执行php代码,php代码在html文件里面执行的示例
  6. OpenCV2:应用篇 三维重建
  7. elisa标准曲线怎么做_ELISA标准曲线绘制
  8. simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?
  9. 解决PowerDesigner中DBMS选项卡为空白
  10. 如何为活动设计海报|优秀案例,分享关键技巧
  11. Java基础回顾Application(二)
  12. Batman崛起之地——Gotham
  13. VIM常用的编辑操作
  14. Ubuntu16.04LTS+CUDA8.0+cuDNN5.1+Anaconda3(python3.6)+tensorflow_gpu-1.2.1安装过程全记录
  15. sysmon安装报错“error getting the evt dll (wevtapi.dll): 87”解决办法
  16. 销售管理系统java sql_java+sqlserver商品销售管理系统的设计与实现
  17. tftp命令文件传输
  18. 美股市场:暴风雨前的宁静
  19. linux0.11内存memory.c一些函数的简单的注释(一)
  20. 【MATLAB】理解采样频率和信号频率的关系

热门文章

  1. 【clion】Clion安装与配置
  2. 给陌生的你听-G.G张思源
  3. Cygwin、Msys、MinGW、Msys2的区别与联系
  4. 两种include方式的作用
  5. android立体3D效果_Android实现八大行星绕太阳3D旋转效果
  6. PostgreSQL索引(一)
  7. win10开机一直转圈圈进不去系统怎么办
  8. linux服务器远程修改mac地址,linux下修改MAC地址问题解决方法
  9. 106-网络安全——第七章计算机病毒和手机病毒
  10. int、Integer、new Integer和Integer.valueOf()的 ==、equals比较