sentinel控制台使用

文章目录

  • 1、前置
  • 2、流控规则
  • 3、降级规则
  • 4、热点规则
  • 5、授权规则
  • 6、系统规则
  • 7、最后


1、前置

1、会介绍一下sentinel的控制台使用, 可能大部分会贴上链接, 然后有需要的会在做一下对应的解释
2、该文章仅仅只是把官网搬运了一下, 顺便自己做下整理方便后期查询

2、流控规则

sentinel控制台使用_第1张图片
官网介绍:https://github.com/alibaba/Sentinel/wiki/%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6

简单解释:

针对来源: 默认default 对服务A , 服务B做不同的限流规则
直接: 直接操作, 无流控模式

关联: 数据库A为读, B为写. 资源名:B, 设置关联资源A, 当A达到阈值, 对B做限流(当关联资源达到阈值限流自己)

链路: D->A->M D->B->M. 资源名:D, 设置入口资源A, D->B->M不受影响
快速失败:    达到阈值后,新的请求就会被立即拒绝, 直接失败

Warm Up:    预热, 就是一个适应的过程, 流量缓慢增加, 而不是一下子冲到顶, 避免激增流量. 单位秒

排队等待:    排队来呗, 匀速通过, 选择排队就不能用线程数, 只能使用QPS, 当到达超时间就失败

3、降级规则

sentinel控制台使用_第2张图片

官网介绍:https://github.com/alibaba/Sentinel/wiki/%E7%86%94%E6%96%AD%E9%99%8D%E7%BA%A7

RT: 平均响应时间.  配置RT 100, 时间窗口 6. 当响应时间大于 RT 100 && 请求数 >= 6, 触发降级, 
    接下来, 熔断时长内的请求会自动被熔断.当时间窗口 6 到达后, 
    会进行探测恢复(接下来的一个请求响应时间)  < RT 100 结束熔断, 否则再次熔断
    按秒统计
    
    需要注意: csp.sentinel.statistic.max.rt默认值4900ms, 也就是说TR最大值为4900, 可以配置该值修改
    
    
    
异常比列: 配置异常比列 0.2(20%), 时间窗口 6. 当异常的比例 > 0.2 && 请求数(单位统计时长内) > 6, 触发降级, 
        接下来, 熔断时长内的请求会自动被熔断.当时间窗口 6 到达后, 
        会进行探测恢复(接下来的一个请求成功完成, 没有异常) 结束熔断, 否则再次熔断
		按秒统计

异常数: 配置异常数 5, 时间窗口 60. 当异常数 > 5 触发降级, 
        接下来, 熔断时长内的请求会自动被熔断.当时间窗口 60 到达后, 
        会进行探测恢复(接下来的一个请求成功完成, 没有异常) 结束熔断, 否则再次熔断
		按分钟统计(时间窗口配置大约 60, 避免时间差)

4、热点规则

sentinel控制台使用_第3张图片
官网介绍:https://github.com/alibaba/Sentinel/wiki/%E7%83%AD%E7%82%B9%E5%8F%82%E6%95%B0%E9%99%90%E6%B5%81

列: 127.0.0.1/test?name=admin&age=18

参数索引为参数所在的位置, 从0开始, 对参数age做限制, 参数索引=1
单机阈值 1
统计窗口时长 1
效果: 请求127.0.0.1/test?name=admin&age=18(限流) 请求127.0.0.1/test?name=admin(不限流)

参数列外项: 
参数值: 20 (age的参数值20 , age=20 )
参数类型int
限流阈值 100
效果: 请求127.0.0.1/test?name=admin&age=18(限流) 
		请求127.0.0.1/test?name=admin(不限流)
		请求127.0.0.1/test?name=admin&age=20(限流阈值为100, 就不在是单机阈值1) 
意思: 配置该参数全局限流阈值, 高级选择细粒度配置, 当参数key=value, 单独做限流阈值

注意点: 参数必须是基本数据类型

5、授权规则

sentinel控制台使用_第4张图片
官网介绍:
https://github.com/alibaba/Sentinel/wiki/%E9%BB%91%E7%99%BD%E5%90%8D%E5%8D%95%E6%8E%A7%E5%88%B6

就是一个黑白名单, 把服务A加入白名单, 允许访问, 把服务B加入黑名单, 拒绝访问, 不允许通过

6、系统规则

sentinel控制台使用_第5张图片
官网介绍:
https://github.com/alibaba/Sentinel/wiki/%E7%B3%BB%E7%BB%9F%E8%87%AA%E9%80%82%E5%BA%94%E9%99%90%E6%B5%81

LOAD: (仅对 Linux/Unix-like 机器生效):系统的 load1 作为启发指标,进行自适应系统保护。
	当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。
	系统容量由系统的 maxQps * minRt 估算得出。设定参考值一般是 CPU cores * 2.5。

RT: 当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。

线程数: 当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。

入口QPS: 当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。

CPU使用率:(1.5.0+ 版本):当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0),比较灵敏。

7、最后

在这里插入图片描述
流控, 降级, 热点, 授权可以在簇点链路直接进行配置

断路器其实分为三种状态: 打开, 关闭, 半开, sentinel目前没有半开

每一个介绍下面都有对应的官网地址, 大家可以对着官网在根据自己的需求进行确认, 版本可能也会有更新

你可能感兴趣的:(Spring,Cloud,+,Nacos,sentinel,后端)