限流 - adongs/security-manager-spring-boot-starter GitHub Wiki

限流

对某些接口进行限流,防止超过处理极限,导致项目崩溃

@RateLimiters

参数名称 类型 说明 默认值
name string 限流器名称 global
permits int 如果无法获取到令牌,等待时间,再次进行获取 0
value RateLimiterProcessor 限流处理类 DefaultRateLimiterProcessor

用法

1.配置限流(这里为测试,限制每秒0.5个令牌,即2秒一个令牌)

spring.security.manager.request.permits-per-second=0.5
spring:
   security:
       manager:
         request:
           permits-per-second=0.5

2.在方法中中使用

    @GetMapping("s")
    @ResponseBody
    @RateLimiters
    public String resubmit(@RequestParam("test")String test){
        return test;
    }

3.你可以自定义实现限流策略,实现RateLimiterProcessor接口用spring管理bean即可