目标

一旦重启服务,之前设置的 Sentinel 限流规则等将会消失。需要将配置规则持久化。

步骤

  • 添加 pom
  1. <dependency>
  2. <groupId>com.alibaba.csp</groupId>
  3. <artifactId>sentinel-datasource-nacos</artifactId>
  4. </dependency>
  • 配置 yml
spring:
  application:
    name: sentinel-service
  cloud:
    nacos:
      discovery: #nacos服务注册中心地址
        server-addr: www.cjlly.com:8848
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080
        port: 8719
      datasource:
        ds1:
          nacos:
            server-addr: www.cjlly.com:8848
            dataId: sentinel-service
            groupId: DEFAULT_GROUP
            data-type: json
            rule_type: flow
  • 登陆 nacos,新建配置规则 sentinel-service
[
  {
    "resource": "/findById",
    "limitApp": "default",
    "grade": 1,
    "count": 1,
    "strategy": 0,
    "controlBehavior": 0,
    "clusterMode": false
  }
]

Nacos 配置解读

  • resource:资源名称
  • limitApp:来源应用
  • grade:阀值类型,0:线程数,1:QPS
  • count:单机阀值
  • strategy:流控模式,0:直接,1:关联,2:链路
  • controlBehavior:流控效果,0:快速失败,1:warmUp,2:排队等待
  • clusterMode:是否集群