微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.4 流控效果【warm up】

news/2024/7/5 3:08:55

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

微服务保护

文章目录

      • 微服务框架
      • 微服务保护
      • 31 限流规则
        • 31.4 流控效果【warm up】
          • 31.4.1 流控效果
          • 31.4.2 流控效果 - warm up
          • 31.4.3 案例

31 限流规则

31.4 流控效果【warm up】

31.4.1 流控效果

流控效果是指请求达到流控阈值时应该采取的措施,包括三种:

在这里插入图片描述

  • 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式。【响应状态码:429】
  • warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值。
  • 排队等待:让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长
31.4.2 流控效果 - warm up

【这种模式虽然也会直接把超出阈值的请求直接拒绝并且抛出异常,但是它特别的地方在于 它的阈值不是一成不变的】

warm up也叫预热模式,是应对服务冷启动的一种方案。

服务冷启动:比如人在运动之前,要先热热身,给身体做一下预热,如果不做,就会很容易在运动过程中拉上肌肉。

服务器也一样,如果一个服务器能够达到的QPS = 10,如果人家刚刚启动,QPS 立马就被打满,可能就会被打挂了【所以服务启动时,不能上来就把QPS 拉满】

请求阈值初始值是 threshold(最大阈值) / coldFactor(冷启动因子),持续指定时长后,逐渐提高到threshold值。而coldFactor的默认值是3.

例如,我设置QPS的threshold为10,预热时间为5秒,那么初始阈值就是 10 / 3 ,也就是3,然后在5秒后逐渐增长到10.

在这里插入图片描述

避免冷启动那一刻,并发过高,导致服务故障

31.4.3 案例

【举个栗子】流控效果-warm up

需求:给/order/{orderId}这个资源设置限流,最大QPS为10,利用warm up效果,预热时长为5秒

先访问一下这个接口,让其能在sentinel 中显示

在这里插入图片描述

OK, 查看sentinel 控制台

在这里插入图片描述

OK,给它 添加流控规则

在这里插入图片描述

直接新增

在这里插入图片描述

OK

利用Jmeter 进行测试

在这里插入图片描述

QPS = 10

在这里插入图片描述

请求指向order ,直接启动

在这里插入图片描述

我这儿和老师不一样,我这儿初始只有1,

在这里插入图片描述

后面慢慢加到了 3

在这里插入图片描述

但是特喵图又是对的…

还是笔者的电脑性能问题,那个刷出来不行【这就是预热模式warm up】


http://lihuaxi.xjx100.cn/news/362293.html

相关文章

笔试强训(四十一)

目录一、选择题二、编程题2.1 Emacs计算器2.1.1 题目2.1.1 题解一、选择题 (1)某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0.若该主机向其所在子网发送广播分组,则目的地址可以是(D) A.180.80.7…

如何实现jwt鉴权机制?

一、是什么 JWT(JSON Web Token),本质就是一个字符串书写规范,如下图,作用是用来在用户和服务器之间传递安全可靠的信息 在目前前后端分离的开发过程中,使用token鉴权机制用于身份验证是最常见的方案&…

周末福利 | 21天学通Python完整版,豆瓣评分9.6!

前言 又到了周末啦,小编例行给大家发福利! 今天福利的内容是21天学通Python完整版,这是一本豆瓣评分9.6的人工智能入门书籍!全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的…

MySQL 运算符

目录 1. 算术运算符&#xff1a; - * / div % mod 练习&#xff1a; 2. 比较运算符 2.1 <> <> ! < < > > 的使用 <> &#xff1a;安全等于。 记忆技巧&#xff1a;为NULL而生。 #练习&#xff1a;查询表中commission_pct为…

如何搭建SLAM开发环境?

1-1|安装ubuntu和ros 「Ubuntu&ROS」安装Ubuntu系统教程|1-1 「Ubuntu&ROS」Ubuntu系统下搭建深度学习和SLAM开发环境教程|1-2 1-2|g++编译流程 「Ubuntu&ROS」Ubuntu系统下CMake教程|1-5 1-3|CMake编译流程 1-4|Git代码版本控制 「Ubuntu&ROS」U…

crmeb接口未授权,您无法访问,解决方案[400012]Interface is not authorized, you cannot access

crmeb接口未授权,您无法访问,解决方案[400012]Interface is not authorized, you cannot access 报错代码[2021-08-09T10:52:34+08:00][error] [400012]Interface is not authorized, you cannot access[/www/wwwroot/XXXXX.com/app/services/system/admin/SystemRoleService…

产品经理如何有效处理需求变更

在项目立项后,进入需求的沟通,当需求确定后,难免会遇到需求频繁变更的现象,为了避免这样的事情发生,我们应当设立一套规范的需求变更管理。具体怎么做,一起来看看吧。项目立项之后,就进入需求分析阶段,需求变更随之而来。需求的变更是无法避免的,但我们可以通过制定一…

OPT(奥普特)工控机新品上市,产品矩阵再扩大

近日&#xff0c;OPT&#xff08;奥普特&#xff09;发布工控机新品&#xff0c;进一步扩展产品矩阵&#xff0c;为制造业数字化转型提供更为全面的机器视觉产品和服务。 OPT&#xff08;奥普特&#xff09;上市的工控机共有两大系列&#xff0c;分别是3U桌面式和4U上架式的设…