当前位置:   article > 正文

sentinel持久化nacos配置_sentinel持久化到nacos

sentinel持久化到nacos

导入pom依赖

  1. <!-- sentinel持久化到nacos -->
  2. <dependency>
  3. <groupId>com.alibaba.csp</groupId>
  4. <artifactId>sentinel-datasource-nacos</artifactId>
  5. </dependency>

创建sentinel命名空间

创建配置

流控规则, 权限规则,降级规则,系统规则,授权规则,热点参数规则 配置到nacos

 配置内容

 不同的规则对应不同的配置

流控规则

  1. [
  2. {
  3. // 资源名
  4. "resource": "/test",
  5. // 针对来源,若为 default 则不区分调用来源
  6. "limitApp": "default",
  7. // 限流阈值类型(1:QPS;0:并发线程数)
  8. "grade": 1,
  9. // 阈值
  10. "count": 1,
  11. // 是否是集群模式
  12. "clusterMode": false,
  13. // 流控效果(0:快速失败;1:Warm Up(预热模式);2:排队等待)
  14. "controlBehavior": 0,
  15. // 流控模式(0:直接;1:关联;2:链路)
  16. "strategy": 0,
  17. // 预热时间(秒,预热模式需要此参数)
  18. "warmUpPeriodSec": 10,
  19. // 超时时间(排队等待模式需要此参数)
  20. "maxQueueingTimeMs": 500,
  21. // 关联资源、入口资源(关联、链路模式)
  22. "refResource": "rrr"
  23. }
  24. ]

 权限规则

  1. [
  2. {
  3. // 资源名
  4. "resource": "sentinel_spring_web_context",
  5. // 流控应用
  6. "limitApp": "/test",
  7. // 授权类型(0代表白名单;1代表黑名单。)
  8. "strategy": 0
  9. }
  10. ]

降级规则

  1. [
  2. {
  3. // 资源名
  4. "resource": "/test1",
  5. "limitApp": "default",
  6. // 熔断策略(0:慢调用比例,1:异常比率,2:异常计数)
  7. "grade": 0,
  8. // 最大RT、比例阈值、异常数
  9. "count": 200,
  10. // 慢调用比例阈值,仅慢调用比例模式有效(1.8.0 引入)
  11. "slowRatioThreshold": 0.2,
  12. // 最小请求数
  13. "minRequestAmount": 5,
  14. // 当单位统计时长(类中默认1000)
  15. "statIntervalMs": 1000,
  16. // 熔断时长
  17. "timeWindow": 10
  18. }
  19. ]

系统规则

  1. [
  2. {
  3. // RT
  4. "avgRt": 1,
  5. // CPU 使用率
  6. "highestCpuUsage": -1,
  7. // LOAD
  8. "highestSystemLoad": -1,
  9. // 线程数
  10. "maxThread": -1,
  11. // 入口 QPS
  12. "qps": -1
  13. }
  14. ]

授权规则

  1. [
  2. {
  3. // 资源名
  4. "resource": "sentinel_spring_web_context",
  5. // 流控应用
  6. "limitApp": "/test",
  7. // 授权类型(0代表白名单;1代表黑名单。)
  8. "strategy": 0
  9. }
  10. ]

热点参数规则

  1. [
  2. {
  3. // 资源名
  4. "resource": "/test1",
  5. // 限流模式(QPS 模式,不可更改)
  6. "grade": 1,
  7. // 参数索引
  8. "paramIdx": 0,
  9. // 单机阈值
  10. "count": 13,
  11. // 统计窗口时长
  12. "durationInSec": 6,
  13. // 是否集群 默认false
  14. "clusterMode": false,
  15. //
  16. "burstCount": 0,
  17. // 集群模式配置
  18. "clusterConfig": {
  19. //
  20. "fallbackToLocalWhenFail": true,
  21. //
  22. "flowId": 2,
  23. //
  24. "sampleCount": 10,
  25. //
  26. "thresholdType": 0,
  27. //
  28. "windowIntervalMs": 1000
  29. },
  30. // 流控效果(支持快速失败和匀速排队模式)
  31. "controlBehavior": 0,
  32. //
  33. "limitApp": "default",
  34. //
  35. "maxQueueingTimeMs": 0,
  36. // 高级选项
  37. "paramFlowItemList": [
  38. {
  39. // 参数类型
  40. "classType": "int",
  41. // 限流阈值
  42. "count": 222,
  43. // 参数值
  44. "object": "2"
  45. }
  46. ]
  47. }
  48. ]

yml文件配置 

yml文件配置和nacos中配置相对应

  1. spring:
  2. cloud:
  3. nacos:
  4. discovery:
  5. server-addr: localhost:8848 #Nacos 服务地址
  6. sentinel:
  7. eager: true #饿加载
  8. transport:
  9. dashboard: localhost:8089 #配置 Sentinel dashboard 地址
  10. datasource:
  11. flow: #流控规则
  12. nacos:
  13. namespace: 1efe62b0-b759-45ff-a5e7-4fb5c27350c7
  14. server-addr: localhost:8848
  15. dataId: ${spring.application.name}-flow-rules
  16. groupId: SENTINEL_GROUP
  17. data-type: json
  18. rule-type: flow
  19. degrade:
  20. nacos:
  21. namespace: 1efe62b0-b759-45ff-a5e7-4fb5c27350c7
  22. server-addr: localhost:8848
  23. dataId: ${spring.application.name}-degrade-rules
  24. groupId: SENTINEL_GROUP
  25. data-type: json
  26. rule-type: degrade
  27. system:
  28. nacos:
  29. namespace: 1efe62b0-b759-45ff-a5e7-4fb5c27350c7
  30. server-addr: localhost:8848
  31. dataId: ${spring.application.name}-system-rules
  32. groupId: SENTINEL_GROUP
  33. data-type: json
  34. rule-type: system
  35. authority:
  36. nacos:
  37. namespace: 1efe62b0-b759-45ff-a5e7-4fb5c27350c7
  38. server-addr: localhost:8848
  39. dataId: ${spring.application.name}-authority-rules
  40. groupId: SENTINEL_GROUP
  41. data-type: json
  42. rule-type: authority
  43. param-flow:
  44. nacos:
  45. namespace: 1efe62b0-b759-45ff-a5e7-4fb5c27350c7
  46. server-addr: localhost:8848
  47. dataId: ${spring.application.name}-param-flow-rules
  48. groupId: SENTINEL_GROUP
  49. data-type: json
  50. rule-type: param-flow

总结:

配置naocs中只能实现配置持久化,不能实现修改sentinel中规则改变nacos中的配置,如果想要实现,需要修改sentinel-dashboard.

修改sentinel-dashboard连接

sentinel基于nacos的持久化,改造sentinel-dashboard-1.8_小乚唠java的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/512610
推荐阅读
相关标签
  

闽ICP备14008679号