Sentinel服务调控---Sentinel常用规则介绍与测试

1. Sentinel界面介绍

在这里插入图片描述
       Sentinel界面主要分为功能区以及展示区,左边的主要是每个服务相对应的服务调控规则,如:流控,熔断,热点,系统规则等,而右边则是展示区,主要展示相对应功能的观察以及操作页面。

实时监控: 主要是监控一些资源的实时状态,如:接口的响应时间,接口访问的成功以及一个线形展示界面,这个界面主要是展示某个时间段的资源访问情况

簇点链路: 主要是展示指定客户端资源的运行情况,分为树状以及列表俩种模式。

流控规则: 主要是监控应用流量的 QPS 或并发线程数等指标,并设置相关的阈值

熔断规则: 与Hystrix的熔断基本一样,用来预防服务调用超时等错误从而导致服务崩溃等情况

热点规则: 可以使规则设置详细到参数,用来设置参数规则的

系统规则: 主要用来监控系统的资源使用情况,大部分作用于Linux系统

授权规则: 主要是针对Sentinel系统登录用户的权限使用情况

2. 流控规则

2.1 界面介绍

       Sentinel流控规则主要是针对每个资源的访问次数,时间等信息来进行调整与控制,其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。
在这里插入图片描述
资源名: 唯一的名称,默认是路径名,就是说这个规则是加到哪个接口或者方法的

针对来源: Sentinel可以针对服务调用者来进行限流,可以填相关的微服务名,默认是default(不区分来源)

阈值类型/单机阈值:

  • QPS:每分钟的请求数量,当这个资源的每分钟请求数量达到阈值时,进行限流

  • 并发线程数:当调用该api的线程数达到阈值时,进行限流,线程数只有流控模式,并没有流控效果,线程数与QPS类似,但他们是不同的

  • 不同点:QPS与线程数的区别在于,QPS模式是接收了所有的请求,但只执行一个,而线程数则是只接收一个请求,其他请求不接受。

流控模式:

  • 直接:api达到限流阈值时,直接限流
  • 关联:当关联的资源达到阈值时,就将自己限流。比如:A接口关联了B接口,当B达到阈值时,就降A限流
  • 链路:只记录指定链路上的链路的流量当达到阈值时限流

流控效果:

  • 快速失败:直接失败,抛出异常,返回相关的提示信息
  • Warm up:预热模式,根据codeFactor的值,默认是3,从阈值/codeFactor开始,经过预热时长,才达到设置的QPS阈值
  • 排队等待:严格控制请求通过的时间,让请求可以以均匀的速度通过,对应的是漏桶算法

2.2 效果测试

前提: 搭建好测试项目,可参考:https://blog.csdn.net/I_am_fine_/article/details/124564895

2.2.1 测试QPS-直接-快速失败

设置流控规则: 阈值设为1,表示该接口一秒钟只能触发一次,超过则直接限流

测试结果: 以刷新的方式来模拟调用
在这里插入图片描述

2.2.2 测试QPS-直接-WarmUP

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值