SpingCloud 2020微服务教程【54】Sentinel持久化规则

视频链接:2020最新版SpringCloud框架开发教程-周阳
文章源码:https://github.com/geyiwei-suzhou/cloud2020/

启动cloudalibaba-sentinel-service8401模块,访问:http://localhost:8401/rateLimit/byUrl,然后在Sentinel中添加一条流控规则,再访问http://localhost:8401/rateLimit/byUrl 发现流控规则生效。重启cloudalibaba-sentinel-service8401模块,再访问Sentinel,发现流控规则丢失

默认情况下,重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化

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

cloudalibaba-sentinel-service8401模块

1. 改pom,添加依赖

前面已经提前加过

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

2. 改yml,添加Nacos数据源配置

在sentinel节点下添加子节点

datasource:
  ds1:
    nacos:
      server-addr: loaclhost:8848
      dataId: cloudalibaba-sentinel-service
      groupId: DEFAULT_GROUP
      data-type: json
      rule-type: flow

根节点添加

feign:
  sentinel:
    enabled: true # 激活Sentinel对Feign的支持

3. 添加Nacos配置

在配置列表中点击添加,添加如下配置
添加配置

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

启动:cloudalibaba-sentinel-service8401 模块,访问Sentinel,发现读取到了Nacos中的流控规则
停止cloudalibaba-sentinel-service8401 模块,发现Sentinel中配置消失,重新启动还是没有出现(懒加载),再访问http://localhost:8401/rateLimit/byUrl ,发现Sentinel中配置再次显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值