sentinel控制台介绍

sentinel使用控制台

学习中笔记


一、使用步骤

1.下载启动jar包

从github上 sentinel下载jar包

2. 可以通过jvm配置参数启动jar。

java -Dserver.port=8849 -Dcsp.sentinel.dashboard.server=localhost:8849 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

二、界面

1、登录界面

在这里插入图片描述
默认登录账号密码均为sentinel

2、首页

在这里插入图片描述

3、实时监控:实时查看各个资源的QPS

在这里插入图片描述

4、簇点链路:查看http请求在这里插入图片描述

5、流控规则:控制QPS、线程等在这里插入图片描述

6、降级规则:服务降级

在这里插入图片描述

7、热点规则:经常访问的数据,很多时候我们希望统计某个热点数据中访问频次最高的Top K数据,并对其访问进行限制,热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生效。

在这里插入图片描述

8、系统规则:系统规则自然对应所有入口的rest请求做处理,整体管控

在这里插入图片描述

9、授权规则:设置白名单及黑名单,来源访问控制

在这里插入图片描述

10、集群流控:以上配置均为单机应用,假如你的应用有多个实例,那么你设置了限流的规则之后,每一台应用的实例都会生效相同的流控规则

在这里插入图片描述

11、机器列表:链接到sentinel控制台的机器在这里插入图片描述

三、控制台各功能详情:

1、流控规则

  • 简介
    根据QPS、线程控制资源

  • 新增流控规则页面
    在这里插入图片描述

  • 参数说明

参数说明
资源名唯一名称
针对来源Sentinel可以针对调用者进行限流,填写微服务名,指定对哪个微服务进行限流 ,默认default(不区分来源,全部限制)
阈值类型-QPS(每秒钟的请求数量)当调用该接口的QPS达到了阈值的时候,进行限流;
阈值类型-线程数当调用该接口的线程数达到阈值时,进行限流
单机阈值设置阈值
是否集群是否针对集群设置阈值
流控模式-直接接口达到限流条件时,直接限流
流控模式—关联当关联的资源达到阈值时,就限流关联资源
流控模式—链路只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就可以限流)api级别的针对来源
流控效果—快速失败直接失败
流控效果- Warm Up即请求 QPS 从 threshold / 3 开始,设置预热时长,经预热时长后逐渐升至设定的 QPS 阈值。预热方式就是为了保护系统,可慢慢的把流量放进来,慢慢的把阈值增长到设置的阈值
流控效果-排队等待匀速排队,让请求以均匀的速度通过,阈值类型必须需设成QPS,否则无效。这种方式主要用于处理间隔性突发流量,例如消息队列,在某一秒有大量的请求道来,而接下来的几秒则处于空闲状态,我们希望系统能够在接下来的空闲期间逐渐处理这些请求,而不是一秒直接拒绝多余的请求

2、降级规则

  • 简介:
    Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时,例如调用超时或异常比例升高,对这个资源的调用进行限制,让请求快速失败,避免影响到其他的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认抛出DegradeException)
  • 新增降级规则页面
    在这里插入图片描述
  • 参数说明
参数说明
资源名唯一名称
熔断策略慢调用比例:每秒平均响应时间,超过阈值,且时间窗口内通过的请求>=5,两个条件同时满足触发降级,RT最大4900
慢调用比例—最大RT超过配置 ms则判定为慢请求。
慢调用比例、异常比例—比例阈值触发熔断的慢调用比例阈值百分比
异常数—异常数异常数触及熔断。
熔断时长设置熔断的时长
最小请求数触发熔断的最小请求数目
统计时长统计窗口时长
  • 慢调用比例场景例子
    在这里插入图片描述
    如图所示设置规则开启后,在统计时长1秒内,当请求数目大于10,并且慢调用的比例大于80%的时候,则在接下来5秒的熔断时长内,请求都会快速失败。经过5秒后熔断器会进入探测恢复状态,若接下来的一个请求响应时间小于设置的1000 ms则结束熔断,若大于1000 ms则会再次被熔断。

  • 异常比例场景例子在这里插入图片描述
    规则开启后,在统计时长1秒内,当请求数目大于10,并且异常的比例大于等于80%的时候,则在接下来5秒的熔断时长内,请求都会快速失败。经过5秒后熔断器会进入探测恢复状态,若接下来的一个请求没有异常则结束熔断,否则会再次熔断。

3、热点规则

  • 简介
    热点就是经常访问的数据,根据请求的参数来做限流,比如请求带的参数是热点参数,就对这个请求应用特殊的限流规则;对携带非热点参数的请求,走另一个限流规则;
  • 新增热点规则页面
    在这里插入图片描述
  • 参数说明
参数说明
资源名唯一名称
参数索引指定热点参数的下标,从0开始。如果额外参数不匹配则默认为0
单机阈值对资源内的接口阈值设置
统计窗口时长统计时间长度
参数类型参数例外项,可以针对指定的参数值单独设置限流阈值,不受前面 count 阈值的限制。仅支持基本类型和字符串类型
参数值传递参数值
限流阈值传递参数值对应的阈值
  • 场景例子
    在这里插入图片描述
    规则开启后,在统计时长1秒内,如果传递参数为2则以20作为阈值,若不传递参数则以2作为阈值。

4、系统规则

  • 简介:
    系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。可以理解为系统规则是全局的限流配置,可以针对服务的全局QPS、机器的CPU等参数进行限流。发生系统规则中配置的情况的时候,会把整个应用都断掉,所有的接口对不能对外提供服务了,这个设计很少用,因为粒度太大了。

  • 新增系统规则页面在这里插入图片描述

  • 参数说明

参数说明
Load 自适应(仅对 Linux/Unix-like 机器生效)系统的 load1 作为启发指标,进行自适应系统保护。当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。系统容量由系统的 maxQps * minRt 估算得出。设定参考值一般是 CPU cores * 2.5。
RT当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
线程数当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
入口QPS当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
CPU使用率当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0),比较灵敏。
  • 场景例子
    在这里插入图片描述
    当CPU的使用率大于70%,就停止新的请求;

5、授权规则

  • 简介
    当我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用Sentinel的来源控制功能。表示控制功能基于请求标识信息,只要Sentinel保护的接口资源被访问,Sentinel就会调用RequestOriginParser的实现类去解析调用者标识。
    -若配置白名单,则只有请求来源位于白名单内时才可通过;
    -若配置黑名单,则请求来源位于黑名单时不允许通过,其余的请求来源可以通过。

  • 新增授权规则页面在这里插入图片描述

  • 参数说明

参数说明
资源名唯一名称
流控应用调用方,也就是调用来源了,比如app端调用或pc端调用。
流控应用调用方,也就是调用来源了,比如app端调用或pc端调用。
授权类型白名单:只有请求来源位于白名单内时才可通过。黑名单:请求来源位于黑名单时不通过,其余的请求通过。
  • 场景例子
    在这里插入图片描述
    资源名为getTest的资源仅有服务叫demo的可以调用
  • 代码配置:
@Component
public class RequestOriginParserDefinition implements RequestOriginParser {
    //基于 Spring 的 Interceptor 拦截资源
    // 获取调用方标识信息并返回
    @Override
    public String parseOrigin(HttpServletRequest request) {
        String serviceName = request.getParameter("serviceName");
        StringBuffer url = request.getRequestURL();
        if (url.toString().endsWith("favicon.ico")) {
            // 浏览器会向后台请求favicon.ico图标
            return serviceName;
        }

        if (StringUtils.isEmpty(serviceName)) {
            throw new IllegalArgumentException("serviceName must not be null");
        }

        return serviceName;
    }

}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值