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;
import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.http.HttpStatus;
@ -47,6 +49,15 @@ public class PolarisRateLimitProperties {
* Max queuing time when using unirate.
*/
private long maxQueuingTime = 1000L;
private List<String> limiterAddresses;
List<String> getLimiterAddresses() {
return limiterAddresses;
}
void setLimiterAddresses(List<String> limiterAddresses) {
this.limiterAddresses = limiterAddresses;
}
public String getRejectRequestTips() {
return rejectRequestTips;

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

@ -29,6 +29,11 @@
"type": "java.lang.Long",
"defaultValue": "1000",
"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