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