1. 引言
在这个快速教程中,我们将看到如何基于客户端的实际IP地址限制Spring Cloud Gateway的传入请求速率。
简而言之,我们将在路由上设置_RequestRateLimiter_过滤器,然后我们将配置网关使用IP地址限制不同客户端的请求。
2. 路由配置
首先,我们需要配置Spring Cloud Gateway对特定路由进行速率限制。为此,我们将使用由_spring-boot-starter-data-redis-reactive_实现的经典令牌桶速率限制器。简而言之,速率限制器创建一个桶,该桶具有与之关联的键,用于标识自身,并具有固定的初始令牌容量,这些令牌会随时间补充。然后,对于每个请求,速率限制器检查其相关桶,并在可能的情况下减少一个令牌。否则,它将拒绝传入请求。