From 6a9532e8c4cb688dd93167f2e69746309cb1f97f Mon Sep 17 00:00:00 2001 From: fishtailfu Date: Fri, 11 Jul 2025 15:50:33 +0800 Subject: [PATCH] feat: support shortest response time lb and least connection loadbalancer --- .../PolarisLoadBalancerClientConfiguration.java | 6 +++--- .../META-INF/additional-spring-configuration-metadata.json | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerClientConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerClientConfiguration.java index cacd097ed..0d36c4f27 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerClientConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerClientConfiguration.java @@ -164,7 +164,7 @@ public class PolarisLoadBalancerClientConfiguration { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return LoadBalancerEnvironmentPropertyUtils.equalToOrMissingForClientOrDefault(context.getEnvironment(), - "strategies", "default"); + "strategies", "polarisWeightedRoundRobin"); } } @@ -172,7 +172,7 @@ public class PolarisLoadBalancerClientConfiguration { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return LoadBalancerEnvironmentPropertyUtils.equalToOrMissingForClientOrDefault(context.getEnvironment(), + return LoadBalancerEnvironmentPropertyUtils.equalToForClientOrDefault(context.getEnvironment(), "strategies", "polarisShortestResponseTime"); } } @@ -181,7 +181,7 @@ public class PolarisLoadBalancerClientConfiguration { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - return LoadBalancerEnvironmentPropertyUtils.equalToOrMissingForClientOrDefault(context.getEnvironment(), + return LoadBalancerEnvironmentPropertyUtils.equalToForClientOrDefault(context.getEnvironment(), "strategies", "polarisLeastConnection"); } } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 8da044916..e62141b85 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -162,7 +162,7 @@ { "name": "spring.cloud.loadbalancer.strategy", "type": "java.lang.String", - "defaultValue": "roundRobin", + "defaultValue": "polarisWeightedRoundRobin", "description": "loadbalancer strategy." }, { @@ -176,6 +176,10 @@ { "name": "spring.cloud.loadbalancer.strategy", "values": [ + { + "value": "polarisWeightedRoundRobin", + "description": "polaris weighted round robin load balancer." + }, { "value": "roundRobin", "description": "round robin load balancer."