feat: support least connection loadbalancer

pull/1636/head
fishtailfu 2 months ago
parent e46372b601
commit e63e586553

@ -35,7 +35,7 @@ import org.springframework.context.annotation.Configuration;
* @author Haotian Zhang
*/
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties
@EnableConfigurationProperties(PolarisShortestResponseTimeLoadBalancerProperties.class)
@ConditionalOnDiscoveryEnabled
@ConditionalOnPolarisEnabled
@ConditionalOnProperty(value = "spring.cloud.polaris.loadbalancer.enabled", matchIfMissing = true)
@ -44,7 +44,7 @@ import org.springframework.context.annotation.Configuration;
public class PolarisLoadBalancerAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public PolarisShortestResponseTimeLoadBalancerConfigModifier polarisShortestResponseTimeLoadBalancerConfigModifier(PolairsShortestResponseTimeLoadBalancerProperties polairsShortestResponseTimeLoadBalancerProperties) {
return new PolarisShortestResponseTimeLoadBalancerConfigModifier(polairsShortestResponseTimeLoadBalancerProperties);
public PolarisShortestResponseTimeLoadBalancerConfigModifier polarisShortestResponseTimeLoadBalancerConfigModifier(PolarisShortestResponseTimeLoadBalancerProperties polarisShortestResponseTimeLoadBalancerProperties) {
return new PolarisShortestResponseTimeLoadBalancerConfigModifier(polarisShortestResponseTimeLoadBalancerProperties);
}
}

@ -7,16 +7,16 @@ import com.tencent.polaris.plugins.loadbalancer.shortestresponsetime.ShortestRes
public class PolarisShortestResponseTimeLoadBalancerConfigModifier implements PolarisConfigModifier {
private final PolairsShortestResponseTimeLoadBalancerProperties polairsShortestResponseTimeLoadBalancerProperties;
private final PolarisShortestResponseTimeLoadBalancerProperties polarisShortestResponseTimeLoadBalancerProperties;
public PolarisShortestResponseTimeLoadBalancerConfigModifier(
PolairsShortestResponseTimeLoadBalancerProperties polairsShortestResponseTimeLoadBalancerProperties) {
this.polairsShortestResponseTimeLoadBalancerProperties = polairsShortestResponseTimeLoadBalancerProperties;
PolarisShortestResponseTimeLoadBalancerProperties polarisShortestResponseTimeLoadBalancerProperties) {
this.polarisShortestResponseTimeLoadBalancerProperties = polarisShortestResponseTimeLoadBalancerProperties;
}
@Override
public void modify(ConfigurationImpl configuration) {
ShortestResponseTimeLoadBalanceConfig config = new ShortestResponseTimeLoadBalanceConfig();
config.setSlidePeriod(polairsShortestResponseTimeLoadBalancerProperties.getSlidePeriod());
config.setSlidePeriod(polarisShortestResponseTimeLoadBalancerProperties.getSlidePeriod());
configuration.getConsumer().getLoadbalancer().setPluginConfig("shortestResponseTime",
config);
}

@ -4,7 +4,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "spring.cloud.polaris.loadbalancer")
public class PolairsShortestResponseTimeLoadBalancerProperties {
public class PolarisShortestResponseTimeLoadBalancerProperties {
/**
* Slide period in milliseconds.
*/
@ -19,5 +19,4 @@ public class PolairsShortestResponseTimeLoadBalancerProperties {
this.slidePeriod = slidePeriod;
}
}
Loading…
Cancel
Save