SpringCloud第十八章AlibabaSentinel实现熔断与限流(规则持久化)

10、规则持久化

  • 是什么

    一旦我们重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化

  • 怎么玩

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

  • 步骤

    • 修改cloudalibaba-sentinel-service8401

    • POM

      
      <dependency>
          <groupId>com.alibaba.cspgroupId>
          <artifactId>sentinel-datasource-nacosartifactId>
      dependency>
      
    • YML

      server:
        port: 8401
      
      spring:
        application:
          name: cloudalibaba-sentinel-service
        cloud:
          nacos:
            discovery:
              server-addr: localhost:8848 #Nacos服务注册中心地址
          sentinel:
            transport:
              dashboard: localhost:8080 #配置Sentinel dashboard地址
              port: 8719
            datasource:
              ds1:
                nacos:
                  server-addr: localhost:8848
                  dataId: cloudalibaba-sentinel-service
                  groupId: DEFAULT_GROUP
                  data-type: json
                  rule-type: flow
      
      management:
        endpoints:
          web:
            exposure:
              include: '*'
      
      feign:
        sentinel:
          enabled: true # 激活Sentinel对Feign的支持
      
      
    • 添加Nacos业务规则配置

      SpringCloud第十八章AlibabaSentinel实现熔断与限流(规则持久化)_第1张图片

    • 启动8401后刷新sentinel发现业务规则有了

      SpringCloud第十八章AlibabaSentinel实现熔断与限流(规则持久化)_第2张图片

    • 快速访问测试接口

      http://localhost:8401/rateLimit/byUrl

      默认

      在这里插入图片描述

    • 停止8401再看sentinel

      SpringCloud第十八章AlibabaSentinel实现熔断与限流(规则持久化)_第3张图片

    • 重新启动8401再看sentinel

      乍一看还是没有,稍等一会儿

      多次调用 http://localhost:8401/rateLimit/byUrl

      重新配置出现了,持久化验证通过

(完)

你可能感兴趣的:(微服务,spring,cloud,alibaba)