栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Sentinel持久化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Sentinel持久化

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

 

目录

Sentinel持久化到Nacos

pom文件

yml文件 

新增Nacos配置

完善测试类

测试

Sentinel持久化到Mysql 


​​​​​​​

Sentinel持久化到Nacos

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

pom文件

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


    com.alibaba.csp
    sentinel-datasource-nacos

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: 8401

spring:
  application:
    name: alibaba-sentinel-server
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
    sentinel:
      transport:
        dashboard: localhost:8080
        #默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
        port: 8719
      datasource:
        ds1:
          nacos:
            server-addr: localhost:8848
            dataId: alibaba-sentinel-server # 微服务名称
            groupId: DEFAULT_GROUP
            data-type: json
            rule-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的方式。

 ​​​​​​​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号