spring-cloud-alibaba-sentinel持久化配置

勿以浮沙筑高台


这里使用nacos做持久化配置

sentinel持久化配置

1.在nacos中配置一个新的用户,用于sentinel进行访问。

创建一个sentinel用户
spring-cloud-alibaba-sentinel持久化配置_第1张图片
2.新增一个管理sentinel用户角色的命名空间
spring-cloud-alibaba-sentinel持久化配置_第2张图片
3.绑定角色
spring-cloud-alibaba-sentinel持久化配置_第3张图片
4.设置权限
spring-cloud-alibaba-sentinel持久化配置_第4张图片
5.引入持久化maven

   <!--     sentinel-datasource-nacos 后续持久化用   -->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

6.修改yml文件

spring:
  cloud:
	  datasource:
	        flow:
	          nacos:
	          	# nacos配置文件id
	            dataId: ${spring.application.name}-flow-rules
	            # nacos服务地址 
	            server-ddr: ${spring.cloud.nacos.server-addr}
	            groupId: SENTINEL_GROUP
	            # 命名空间ID
	            namespace: 440e79f0-92a7-4d61-acea-87c5c8cb9917
	            # 用户名
	            username: sentinel
	            # 密码
	            password: 123123
	            # 配置文件格式
	            dataType: json
	            #表示是什么规则
	            ruleType: flow

7.修改nacos文件
选择配置列表,命名空间为sentinel_space新增配置数据与yml文件里的一致
spring-cloud-alibaba-sentinel持久化配置_第5张图片
下面是配置的限流信息配置

  [
    {
      "resource": "fallbackResource",
      "limitApp": "default",
      "grade": "1",
      "count": "1",
      "strategy": "0",
      "controlBehavior": "0",
      "clusterMode": false
    }
  ]

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

spring-cloud-alibaba-sentinel持久化配置_第6张图片
7.测试,限流成功
spring-cloud-alibaba-sentinel持久化配置_第7张图片

其他规则配置model

     nacos:            #nacos地址
            server-addr: ${spring.cloud.nacos.discovery.server-addr}       #nacos dataId 详细看 sentinel 客户端添加到nacos下的保持一致
            dataId: ${spring.application.name}-flow-rules            #nacos namespace  详细看 sentinel 客户端添加到nacos下的保持一致
            namespace: ${spring.cloud.nacos.discovery.namespace}       #nacos namespace  详细看 sentinel 客户端添加到nacos下的保持一致       
            groupId: SENTINEL_GROUP
            #data-type: json
            # 规则类型,取值见:
            # org.springframework.cloud.alibaba.sentinel.datasource.RuleType
            rule-type: flow

          #熔断降级 名称随意
          degrade:
            nacos:
              server-addr: ${spring.cloud.nacos.discovery.server-addr}
              dataId: ${spring.application.name}-degrade-rules
              namespace: ${spring.cloud.nacos.discovery.namespace}
              groupId: SENTINEL_GROUP
              rule-type: degrade

            #系统规则 名称随意
            system:
              nacos:
                server-addr: ${spring.cloud.nacos.discovery.server-addr}
                dataId: ${spring.application.name}-system-rules
                namespace: ${spring.cloud.nacos.discovery.namespace}
                groupId: SENTINEL_GROUP
                rule-type: system

            #授权规则 名称随意
            authority:
              nacos:
                server-addr: ${spring.cloud.nacos.discovery.server-addr}
                dataId: ${spring.application.name}-authority-rules
                namespace: ${spring.cloud.nacos.discovery.namespace}
                groupId: SENTINEL_GROUP
                rule-type: authority

            #参数规则 名称随意
            param-flow:
              nacos:
                server-addr: ${spring.cloud.nacos.discovery.server-addr}
                dataId: ${spring.application.name}-param-flow-rules
                namespace: ${spring.cloud.nacos.discovery.namespace}
                groupId: SENTINEL_GROUP
                rule-type: param-flow

你可能感兴趣的:(springcloud,java)