我如何限制我们正在开发的任何API的每秒请求数。 我需要根据我们为每个客户提供的令牌限制每秒的请求数。 所以可以说,如果我在请求标头中提供了TOKEN1给我们的客户端,而我们每秒对该令牌的请求数量有限,那么客户端每秒只能访问10次我们的API。如果他们使用相同的令牌,则无论是否访问任何数量的计算机,它们每秒只能访问10个请求。 使用Spring Boot如何做到这一点? 我们有Spring Boot应用程序。
答案 0 :(得分:1)
有一些(maven)软件包可用于标准节流,例如:https://github.com/weddini/spring-boot-throttling。
示例代码如下:
@Throttling(type = ThrottlingType.HeaderValue, headerName = "X-Forwarded-For", limit = 10, timeUnit = TimeUnit.HOURS)
public void serviceMethod() {
}