mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-20 10:13:28 +08:00
删除限流器配置
This commit is contained in:
parent
b5b765238d
commit
2a6479c743
@ -4,18 +4,14 @@ import com.ruoyi.gateway.config.provider.RedisRouteDefinitionRepository;
|
|||||||
import com.ruoyi.gateway.filter.factory.AddRequestParamGatewayFilterFactory;
|
import com.ruoyi.gateway.filter.factory.AddRequestParamGatewayFilterFactory;
|
||||||
import com.ruoyi.gateway.filter.factory.RemoveRequestParamGatewayFilterFactory;
|
import com.ruoyi.gateway.filter.factory.RemoveRequestParamGatewayFilterFactory;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver;
|
|
||||||
import org.springframework.cloud.gateway.route.Route;
|
|
||||||
import org.springframework.cloud.gateway.route.RouteDefinition;
|
import org.springframework.cloud.gateway.route.RouteDefinition;
|
||||||
import org.springframework.cloud.gateway.route.RouteDefinitionRepository;
|
import org.springframework.cloud.gateway.route.RouteDefinitionRepository;
|
||||||
import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
||||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||||
import reactor.core.publisher.Mono;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@ -70,10 +66,4 @@ public class GatewayConfig
|
|||||||
{
|
{
|
||||||
return new RemoveRequestParamGatewayFilterFactory();
|
return new RemoveRequestParamGatewayFilterFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean("routeIdKeyResolver")
|
|
||||||
public KeyResolver routeIdKeyResolver()
|
|
||||||
{
|
|
||||||
return exchange -> Mono.just(((Route) exchange.getAttributes().get(ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR)).getId());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -166,17 +166,6 @@ public class RouteUtils {
|
|||||||
stripPrefixFilter.getArgs().put("parts", "1");
|
stripPrefixFilter.getArgs().put("parts", "1");
|
||||||
filters.add(stripPrefixFilter);
|
filters.add(stripPrefixFilter);
|
||||||
|
|
||||||
final Long quotaSeconds = appService.getQuotaSeconds();
|
|
||||||
if (Objects.nonNull(quotaSeconds))
|
|
||||||
{
|
|
||||||
IscFilterDefinition requestRateLimiterFilter = new IscFilterDefinition();
|
|
||||||
requestRateLimiterFilter.setName("RequestRateLimiter");
|
|
||||||
requestRateLimiterFilter.getArgs().put("redis-rate-limiter.replenishRate", String.valueOf(quotaSeconds));
|
|
||||||
requestRateLimiterFilter.getArgs().put("redis-rate-limiter.burstCapacity", String.valueOf(quotaSeconds << 1));
|
|
||||||
requestRateLimiterFilter.getArgs().put("key-resolver", "#{@routeIdKeyResolver}");
|
|
||||||
filters.add(requestRateLimiterFilter);
|
|
||||||
}
|
|
||||||
|
|
||||||
IscFilterDefinition removeRequestParamFilter = new IscFilterDefinition();
|
IscFilterDefinition removeRequestParamFilter = new IscFilterDefinition();
|
||||||
removeRequestParamFilter.setName("RemoveRequestParam");
|
removeRequestParamFilter.setName("RemoveRequestParam");
|
||||||
removeRequestParamFilter.getArgs().put("name", ACCESS_KEY_NAME);
|
removeRequestParamFilter.getArgs().put("name", ACCESS_KEY_NAME);
|
||||||
@ -205,6 +194,7 @@ public class RouteUtils {
|
|||||||
|
|
||||||
//其他信息
|
//其他信息
|
||||||
Map<String, Object> metadata = route.getMetadata();
|
Map<String, Object> metadata = route.getMetadata();
|
||||||
|
metadata.put("secondsLimit", toString(appService.getQuotaSeconds()));
|
||||||
metadata.put("minutesLimit", toString(appService.getQuotaMinutes()));
|
metadata.put("minutesLimit", toString(appService.getQuotaMinutes()));
|
||||||
metadata.put("hoursLimit", toString(appService.getQuotaHours()));
|
metadata.put("hoursLimit", toString(appService.getQuotaHours()));
|
||||||
metadata.put("daysLimit", toString(appService.getQuotaDays()));
|
metadata.put("daysLimit", toString(appService.getQuotaDays()));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user