parent
4d338d39e7
commit
629bdee3d8
@ -0,0 +1,23 @@
|
||||
package com.tencent.cloud.polaris.loadbalancer;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@ConfigurationProperties(prefix = "spring.cloud.polaris.loadbalancer")
|
||||
public class PolairsShortestResponseTimeLoadBalancerProperties {
|
||||
/**
|
||||
* Slide period in milliseconds.
|
||||
*/
|
||||
@Value("${spring.cloud.polaris.loadbalancer.polarisShortestResponseTime.slidePeriod:30000}")
|
||||
private long slidePeriod;
|
||||
|
||||
long getSlidePeriod() {
|
||||
return slidePeriod;
|
||||
}
|
||||
|
||||
void setSlidePeriod(long slidePeriod) {
|
||||
this.slidePeriod = slidePeriod;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.tencent.cloud.polaris.loadbalancer;
|
||||
|
||||
import com.tencent.cloud.polaris.context.PolarisConfigModifier;
|
||||
import com.tencent.polaris.factory.config.ConfigurationImpl;
|
||||
import com.tencent.polaris.plugins.loadbalancer.shortestresponsetime.ShortestResponseTimeLoadBalanceConfig;
|
||||
|
||||
|
||||
public class PolarisShortestResponseTimeLoadBalancerConfigModifier implements PolarisConfigModifier {
|
||||
|
||||
private final PolairsShortestResponseTimeLoadBalancerProperties polairsShortestResponseTimeLoadBalancerProperties;
|
||||
|
||||
public PolarisShortestResponseTimeLoadBalancerConfigModifier(
|
||||
PolairsShortestResponseTimeLoadBalancerProperties polairsShortestResponseTimeLoadBalancerProperties) {
|
||||
this.polairsShortestResponseTimeLoadBalancerProperties = polairsShortestResponseTimeLoadBalancerProperties;
|
||||
}
|
||||
@Override
|
||||
public void modify(ConfigurationImpl configuration) {
|
||||
ShortestResponseTimeLoadBalanceConfig config = new ShortestResponseTimeLoadBalanceConfig();
|
||||
config.setSlidePeriod(polairsShortestResponseTimeLoadBalancerProperties.getSlidePeriod());
|
||||
configuration.getConsumer().getLoadbalancer().setPluginConfig("shortestResponseTime",
|
||||
config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return 0;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue