我们先来新增一个流控规则看一下,操作方式有两种
在流控规则中添加在簇点链路中添加
因为方便,我们一般会选择在簇点链路中添加,我们先来试一下QPS的操作:
文章插图
文章插图
这里我们设置单机阈值为1,所以
playA
这个接口一秒中只能被访问一次,如果超过,则进行限流操作进行一个阻塞操作,这个效果我们是可以直接看到的,当我们不停的刷新playA
时,就会现在如下信息,而没有设置的playB
,则不会文章插图
在这里我们如果设置为线程数会怎么样呢?我们来看一下 。
在这里我们要注意:如果项目重新启动,需要将修改后的
playA
,重新访问后重新,添加流控规则文章插图
同时我们需要在代码中设置延时执行,如果处理太快,我们是看不到实际效果的,如果有兴趣的小伙伴可以自己启动线程去跑,在这里我们设置
playA
,进行一秒钟的延时操作,@GetMapping("/playA")public String playA() {try {//阻塞1 秒TimeUnit.MILLISECONDS.sleep(1000);}catch (Exception e){e.printStackTrace();}return "hello my name is playA ,wo shi boy";}
这里要使用两个不同浏览器去跑,同一个浏览器使用的是同一线程,先请求的某歌后请求的某火效果如下所示:文章插图
QPS和并发线程数的规则如下所示:
文章插图
总结虽然最终效果是一样的,但是规则是不同的,每种应对不用的业务场景,大家可以合理化的去使用
经验总结扩展阅读
- 高考的微信祝福文案
- 召唤与合成2公测白嫖钻石怎么获得
- 原神游港聚珍活动内容地址介绍
- 三国志战略版黑科技吕布阵容搭配介绍
- 儿童挑食与反复湿疹有关系吗
- 西西里的美丽传说剧情介绍?
- 相爱穿梭千年1演员表介绍?
- 观音山剧情详细介绍?
- 电影角斗士详情剧情介绍?
- 真味小厨王全体演员表介绍?