当前位置:   article > 正文

Sentinel系列之集成Nacos并实现动态流控_sentinel 整合nacos

sentinel 整合nacos

从上一个章节的流控来看,其实就能看出来,Sentinel的根本是只需要关注资源的定义,它就会对资源进行流控,上一个章节我们基于Sentinel Dashboard控制台对资源进行流控,但是不知道大家在实操过程中有没有发现一个问题,当服务重启,再回头看控制台的时候发现:所有的流控规则都消失了,其实这是因为相关数据都是保存在内存里的,一旦应用重启,这些数据就会被清楚,所以为了解决这个问题,Sentinel专门提供了动态数据源支持


目前,Sentinel支持多个数据源的拓展:Consul、ZK等等,下面我们主要讲一下集成Nacos实现动态流控规则,步骤如下:

1、添加Nacos数据源的依赖

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

2、添加配置文件

  1. spring:
  2. application:
  3. name: sentinel-server
  4. cloud:
  5. sentinel:
  6. transport:
  7. dashboard: 127.0.0.1:8080
  8. datasource: #支持redis、zk等中间件,用哪一个,下面的- key就跟上哪一个即可
  9. - nacos:
  10. server-addr: 127.0.0.1:8848
  11. data-id: ${spring.application.name}-nacos
  12. group-id: DEFAULT_GROUP
  13. data-type: json
  14. rule-type: flow

3、定义一个接口

  1. @RestController
  2. public class DashController {
  3. @GetMapping("/dash")
  4. public String dash(){
  5. return "dash";
  6. }
  7. }

4、 进入Nacos控制台,添加配置文件

5、启动项目,查看Sentinel Dashboard流控规则列表

 这个资源名,会在服务启动的时候,加载nacos刚才配置的资源,然后调用/dynamic接口,会出现限流json,如下:

 至此,动态限流规则就完成了

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

闽ICP备14008679号