阿里的Sentinel 是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。这里我们使用Spring Cloud Alibaba集成Sentinel。
在原来的项目中引入依赖,版本好使用的是>0.2.1.RELEASE,在dependencyManagement控制。
因为spring-cloud-alibaba还没有加入spring-cloud的版本控制,所以还是要自己引入的
然后实现起来就比较简单了,这里加入一个注解com.alibaba.csp.sentinel.annotation.SentinelResource
然后还需要添加一个配置
然后我们使用Sentinel控制台来配置限流规则
我们简单一点直接下载,http://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/demo/sentinel-dashboard.jar
然后执行java -jar sentinel-dashboard.jar就可以啦
然后我们在本地的8080端口,打开
然后我配置一个限流
然后我们访问一下这个接口,因为配置的一秒内只会处理一个,所以第二个被拦截啦。
git:https://github.com/woshiyexinjie/boot-two/tree/master/cloud-alibaba
参考:
https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md