feat: support least connection loadbalancer

pull/1636/head
fishtailfu 3 months ago
parent 2b898ca6fe
commit 91a96c421e

@ -9,12 +9,12 @@ import org.springframework.beans.factory.ObjectProvider;
import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier; import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier;
/** /**
* PolarisShortestResponseTimeLoadBalancer. * Polaris Least Connection LoadBalancer.
* *
* @author Yuwei Fu * @author Yuwei Fu
*/ */
public class PolarisShortestLeastConnectionLoadBalancer extends AbstractPolarisLoadBalancer { public class PolarisLeastConnectionLoadBalancer extends AbstractPolarisLoadBalancer {
public PolarisShortestLeastConnectionLoadBalancer(String serviceId, ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider, RouterAPI routerAPI) { public PolarisLeastConnectionLoadBalancer(String serviceId, ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider, RouterAPI routerAPI) {
super(serviceId, supplierObjectProvider, routerAPI); super(serviceId, supplierObjectProvider, routerAPI);
} }

@ -109,7 +109,7 @@ public class PolarisLoadBalancerClientConfiguration {
public ReactorLoadBalancer<ServiceInstance> polarisLeastConnectionLoadBalancer(Environment environment, public ReactorLoadBalancer<ServiceInstance> polarisLeastConnectionLoadBalancer(Environment environment,
LoadBalancerClientFactory loadBalancerClientFactory, PolarisSDKContextManager polarisSDKContextManager) { LoadBalancerClientFactory loadBalancerClientFactory, PolarisSDKContextManager polarisSDKContextManager) {
String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME); String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
return new PolarisShortestLeastConnectionLoadBalancer(name, return new PolarisLeastConnectionLoadBalancer(name,
loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), polarisSDKContextManager.getRouterAPI()); loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), polarisSDKContextManager.getRouterAPI());
} }
@Bean @Bean

@ -74,7 +74,7 @@
<revision>2.0.3.0-2024.0.1-SNAPSHOT</revision> <revision>2.0.3.0-2024.0.1-SNAPSHOT</revision>
<!-- Polaris SDK version --> <!-- Polaris SDK version -->
<polaris.version>2.0.2.0</polaris.version> <polaris.version>2.0.3.0-SNAPSHOT</polaris.version>
<!-- Dependencies --> <!-- Dependencies -->
<springdoc.version>2.2.0</springdoc.version> <springdoc.version>2.2.0</springdoc.version>

Loading…
Cancel
Save