feat: support multi remote limiter service.

pull/1667/head
fishtailfu 2 months ago
parent 621c2dfb22
commit 092f9f86a1

@ -17,6 +17,8 @@
package com.tencent.cloud.polaris.ratelimit.config; package com.tencent.cloud.polaris.ratelimit.config;
import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
@ -47,6 +49,15 @@ public class PolarisRateLimitProperties {
* Max queuing time when using unirate. * Max queuing time when using unirate.
*/ */
private long maxQueuingTime = 1000L; private long maxQueuingTime = 1000L;
private List<String> limiterAddresses;
List<String> getLimiterAddresses() {
return limiterAddresses;
}
void setLimiterAddresses(List<String> limiterAddresses) {
this.limiterAddresses = limiterAddresses;
}
public String getRejectRequestTips() { public String getRejectRequestTips() {
return rejectRequestTips; return rejectRequestTips;

@ -39,6 +39,8 @@ public class RateLimitConfigModifier implements PolarisConfigModifier {
// Update MaxQueuingTime. // Update MaxQueuingTime.
configuration.getProvider().getRateLimit() configuration.getProvider().getRateLimit()
.setMaxQueuingTime(polarisRateLimitProperties.getMaxQueuingTime()); .setMaxQueuingTime(polarisRateLimitProperties.getMaxQueuingTime());
configuration.getProvider().getRateLimit()
.setLimiterAddresses(polarisRateLimitProperties.getLimiterAddresses());
} }
@Override @Override

@ -29,6 +29,11 @@
"type": "java.lang.Long", "type": "java.lang.Long",
"defaultValue": "1000", "defaultValue": "1000",
"description": "Max queuing time when using unirate." "description": "Max queuing time when using unirate."
},
{
"name": "spring.cloud.polaris.ratelimit.limitAddresses",
"type": "java.util.List",
"description": "Remote limiter service addresses."
} }
] ]
} }

Loading…
Cancel
Save