Sentinel规则持久化

suaxi
2021-04-29 / 0 评论 / 128 阅读 / 正在检测是否收录...

默认规则是临时存储的,重启Sentinel服务之后消失


1、环境搭建

以8401模块为例

添加pom依赖
<!-- datasource-nacos -->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>


yml
server:
  port: 8401

spring:
  application:
    name: cloud-alibaba-sentinel-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
    sentinel:
      transport:
        # sentinel dashboard地址
        dashboard: localhost:8080
        # 默认8719端口,如果8719被占用,默认递增
        port: 8719
      # 流控规则持久化
      datasource:
        ds1:
          nacos:
            server-addr: localhost:8848
            # namespace根据具体的情况指定
            dataId: cloud-alibaba-sentinel-service
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow

management:
  endpoints:
    web:
      exposure:
        include: '*'


Nacos新建配置文件

1.Nacos新建配置文件.png

参数说明:

resource:资源名称

limitApp:应用来源

grade:阈值类型,0:线程数,1:QPS

count:单机阈值

strategy:流控模式,0:直接,1:关联,2:链路

controBehavier:流控效果,0:快速失败,1:Warm Up,2:排队等待

clusterMode:是否集群


2、测试

1、启动8401,在Sentinel控制中心可以看到读取了Nacos那边配置的流控规则;

2、关闭8401,Sentinel控制中心的规则消失;

3、重启8401,重启之后如果出现了流控规则,则表明规则持久化配置成功。

图片来源:尚硅谷 - 周阳 - Spring Cloud Alibaba

0

评论 (0)

取消