限流 - 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即可