Sentinel与nacos配置规则持久化

1、引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>lemon-alibaba</artifactId>
        <groupId>com.lemon.alibaba</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>lemon-alibaba-sentinel</artifactId>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
<!--        sentinel 规则持久化依赖-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

    </dependencies>

</project>

2、在nacos配置中心配置sentinel流控降级规则

3、在项目application.yml配置文件中配置数据源:

     

server:
  port: 13000

spring:
  application:
    name: lemon-alibaba-sentinel
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080 #sentinel控制台地址
      datasource:
        flow-rule: #随便写,只要保证时唯一的就可以,可以书写多个数据源子节点配置为在nacos中配置的相关信息,包括nacos地址,dataid等等
          nacos:
            server-addr: 127.0.0.1:8848
            username: nacos
            password: nacos
            dataId: lemon-alibaba-sentinel-nacos-rule  #nacos中配置的dataid,sentinel将会使用这个配置中的控流降级规则
            RuleType: flow

4、重启sentinel,在nacos中配置的规则即可生效

5、nacos中配置的规则一般如下:

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

猜你喜欢

转载自blog.csdn.net/qq_31319235/article/details/121414936