从名字上乍一看,Sentinel是阿里的限流工具,在实际的使用期间,还是有点复杂,对于小公司来并不适用,这也就是小编为何写这个工具的原因。目的就是让限流变得更加简单,最好达到零配置,和完全的无嵌入的整合到代码。但是为了让限流变得更容易监控和管理,小编不得不将初衷从非嵌入性,调整为半嵌入的方式。欢迎感兴趣或者喜欢研究的同学来使用,提出宝贵意见,供小编整改。或者一起来参与项目开发。(私信easy-sentinel: 获取github地址)

EasySentinel
是一款专门为SpringBoot项目设计的限流组件,利用Redis+lua从而来实现高性能和分布式的能力。使用比较简单。通过半嵌入式的开发即可使用分布式注解。因为引用了Redis,并使用Redis作为注册中心,所以需要添加redis依赖。也正因为使用了Redis作为注册中心,所以天然的满足了分布式限流的能力.

SpringBoot2版本之后官方强烈建议以此来替换spring-boot-starter-redis

前端限流控制台
为了有更好的用户体验,控制台的开发已经提上日常。当前项目只有本人维护,欢迎前端或者后端的同学一起来参与

开始引入依赖(以发布maven仓库,可直接下载)

使用案例
只用将需要限制的接口加上@EasySentinel即可实现限流能力
通过Qps设置当前接口的qps,fallback指定限流后的备用方法 。

备用方法高级案例
前面只通过fallback实现备用方法的执行,但是平时为了让控制层的代码尽量保证精简,EasySentinel也支持通过工具类的方式来,指定blockHandlerClass处理类的方法blockHandler

压力测试
ab -n 14 -c 1 http://127.0.0.1:8889/user/lxchinesszz
