当前位置:   article > 正文

SpringCloud Alibaba Sentinel 规则持久化

SpringCloud Alibaba Sentinel 规则持久化

一、前言

        接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第十七篇,即使用 Sentinel 实现规则持久化

二、概述

        从前面我们做的实验可知,一旦我们重启应用sentinel 规则将消失,生产环境需要将配置规则进行持久化,以保证正常的运行。

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

三、实现步骤

3.1 添加 maven 依赖

        首先确保 cloudalibaba-consumer-nacos-order8401 模块的 pom.xml 中引入了 相关的依赖,如下:

  1. <!--SpringCloud ailibaba sentinel-datasource-nacos 后续做持久化用到-->
  2. <dependency>
  3. <groupId>com.alibaba.csp</groupId>
  4. <artifactId>sentinel-datasource-nacos</artifactId>
  5. </dependency>

3.2 修改配置文件

         接下来需要在 application.yml 中添加 Nacos 数据源的支持,如下:

  1. server:
  2. port: 8401
  3. spring:
  4. application:
  5. name: cloudalibaba-sentinel-service
  6. cloud:
  7. nacos:
  8. discovery:
  9. server-addr: localhost:8848 # Nacos服务注册中心地址
  10. sentinel:
  11. transport:
  12. dashboard: localhost:8080 # 配置Sentinel dashboard地址
  13. # 默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
  14. port: 8719
  15. # 添加 Nacos 数据源的配置
  16. datasource:
  17. ds1:
  18. nacos:
  19. server-addr: localhost:8848
  20. dataId: cloudalibaba-sentinel-service
  21. groupId: DEFAULT_GROUP
  22. data-type: json
  23. rule-type: flow
  24. management:
  25. endpoints:
  26. web:
  27. exposure:
  28. include: '*'

3.3 配置 nacos

        打开 nacos 的管理界面,添加 nacos 的业务规则配置,如下图:

配置详解如下: 

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

3.4 测试

        启动 8401 模块后, 调用 http://localhost:8401/rateLimit/byUrl,刷新 sentinel 发现流控规则有了,如下图:

        快速访问测试接口,可以看到,限流是没有任何问题的,如下图:

        此时停止 8401 模块,再看 sentinel 管理界面,如下图,可以看到,流控规则没有了

        重新启动 8401 再看 sentinel,等待一会,并且多次调用 http://localhost:8401/rateLimit/byUrl,如下图,重新配置出现了,持久化验证通过。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/384569
推荐阅读
相关标签
  

闽ICP备14008679号