Sentinel 介绍与下载使用( 三 )


我们先来新增一个流控规则看一下,操作方式有两种
在流控规则中添加在簇点链路中添加
因为方便,我们一般会选择在簇点链路中添加,我们先来试一下QPS的操作:

Sentinel 介绍与下载使用

文章插图

Sentinel 介绍与下载使用

文章插图
这里我们设置单机阈值为1,所以playA这个接口一秒中只能被访问一次,如果超过,则进行限流操作进行一个阻塞操作,这个效果我们是可以直接看到的,当我们不停的刷新playA时,就会现在如下信息,而没有设置的playB,则不会
Sentinel 介绍与下载使用

文章插图
在这里我们如果设置为线程数会怎么样呢?我们来看一下 。
在这里我们要注意:如果项目重新启动,需要将修改后的playA,重新访问后重新,添加流控规则
Sentinel 介绍与下载使用

文章插图
同时我们需要在代码中设置延时执行,如果处理太快,我们是看不到实际效果的,如果有兴趣的小伙伴可以自己启动线程去跑,在这里我们设置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";}这里要使用两个不同浏览器去跑,同一个浏览器使用的是同一线程,先请求的某歌后请求的某火效果如下所示:
Sentinel 介绍与下载使用

文章插图
QPS和并发线程数的规则如下所示:
Sentinel 介绍与下载使用

文章插图
总结虽然最终效果是一样的,但是规则是不同的,每种应对不用的业务场景,大家可以合理化的去使用

经验总结扩展阅读