阿里开源的限流神器 Sentinel,轻松搞定接口限流( 二 )

需要注意引用的SpringCloud-alibaba的版本是0.2.2,当前的最新版,如果是Springboot2.x的项目,需要引0.2.x的 。Springboot1.x的引0.1.x的 。
不懂 Spring Boot 的看下这个,很全了:
https://github.com/javastacks/spring-boot-best-practice
Sentinel的客户端依赖也很简单,
spring-cloud-starter-alibaba-sentinel加这一个引用即可 。
之后在Application.yml里添加server的地址配置:
spring: application:name: baobanserver cloud:sentinel:transport:dashboard: localhost:8080#eager: true另外由于8080端口已被占用,自行设置一个端口,如8888.
做完这些,新建一个controller,
@RestControllerpublic class TestController {@GetMapping(value = https://www.isolves.com/it/cxkf/bk/2021-04-30/"/hello")public String hello() {return "Hello Sentinel";}}就是一个普通的controller接口 。
之后启动该项目 。启动后回到server的控制台界面:

阿里开源的限流神器 Sentinel,轻松搞定接口限流

文章插图
 
发现并没有什么变化 。然后我们调用一下hello接口 。之后再次刷新server控制台 。
阿里开源的限流神器 Sentinel,轻松搞定接口限流

文章插图
 
界面已经出现了我们的项目,并且有一堆规则 。
阿里开源的限流神器 Sentinel,轻松搞定接口限流

文章插图
 
因为Sentinel采用延迟加载,只有在主动发起一次请求后,才会被拦截并发送给服务端 。如果想关闭这个延迟,就在上面的yml里把eager的注释放掉 。
然后在簇点链路里hello接口的流控那里设置限流规则,将单机阈值设为1.就代表一秒内最多只能通过1次请求到达该hello接口 。
阿里开源的限流神器 Sentinel,轻松搞定接口限流

文章插图
 
之后再次连续访问hello接口 。
阿里开源的限流神器 Sentinel,轻松搞定接口限流

文章插图
 
发现已经被拦截了,限流已经生效 。
这样就完成了一次简单的限流操作,并且能看到各接口的QPS的统计 。
如果觉得本篇文章对你有用的话,请点赞+转发,后续会有更多的干货分享,请持续关注!
更多一线大厂面试题、高并发等主流技术资料推荐阅读 :
https://www.toutiao.com/i6955652930255012364/




推荐阅读