fix polarisWeightedRandom

pull/970/head
seanyu 2 years ago
parent 227fb09cfa
commit 89193ee688

@ -77,11 +77,11 @@ public class PolarisLoadBalancerClientConfiguration {
@Bean @Bean
@ConditionalOnMissingBean @ConditionalOnMissingBean
@ConditionalOnProperty(value = "spring.cloud.polaris.loadbalancer.strategy", havingValue = "polarisWeighted") @ConditionalOnProperty(value = "spring.cloud.polaris.loadbalancer.strategy", havingValue = "polarisWeightedRandom")
public ReactorLoadBalancer<ServiceInstance> polarisWeightedLoadBalancer(Environment environment, public ReactorLoadBalancer<ServiceInstance> polarisWeightedLoadBalancer(Environment environment,
LoadBalancerClientFactory loadBalancerClientFactory, RouterAPI routerAPI) { LoadBalancerClientFactory loadBalancerClientFactory, RouterAPI routerAPI) {
String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME); String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
return new PolarisWeightedLoadBalancer(name, return new PolarisWeightedRandomLoadBalancer(name,
loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), routerAPI); loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), routerAPI);
} }

@ -53,7 +53,7 @@ import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier;
*/ */
public class PolarisRingHashLoadBalancer implements ReactorServiceInstanceLoadBalancer { public class PolarisRingHashLoadBalancer implements ReactorServiceInstanceLoadBalancer {
private static final Logger log = LoggerFactory.getLogger(PolarisWeightedLoadBalancer.class); private static final Logger log = LoggerFactory.getLogger(PolarisWeightedRandomLoadBalancer.class);
private final String serviceId; private final String serviceId;

@ -50,9 +50,9 @@ import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier;
* *
* @author <a href="mailto:liaochuntao@live.com">liaochuntao</a> * @author <a href="mailto:liaochuntao@live.com">liaochuntao</a>
*/ */
public class PolarisWeightedLoadBalancer implements ReactorServiceInstanceLoadBalancer { public class PolarisWeightedRandomLoadBalancer implements ReactorServiceInstanceLoadBalancer {
private static final Logger log = LoggerFactory.getLogger(PolarisWeightedLoadBalancer.class); private static final Logger log = LoggerFactory.getLogger(PolarisWeightedRandomLoadBalancer.class);
private final String serviceId; private final String serviceId;
@ -60,7 +60,7 @@ public class PolarisWeightedLoadBalancer implements ReactorServiceInstanceLoadBa
private ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider; private ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider;
public PolarisWeightedLoadBalancer(String serviceId, ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider, RouterAPI routerAPI) { public PolarisWeightedRandomLoadBalancer(String serviceId, ObjectProvider<ServiceInstanceListSupplier> supplierObjectProvider, RouterAPI routerAPI) {
this.serviceId = serviceId; this.serviceId = serviceId;
this.supplierObjectProvider = supplierObjectProvider; this.supplierObjectProvider = supplierObjectProvider;
this.routerAPI = routerAPI; this.routerAPI = routerAPI;

@ -136,8 +136,8 @@
"description": "random load balancer." "description": "random load balancer."
}, },
{ {
"value": "polarisWeighted", "value": "polarisWeightedRandom",
"description": "polaris weighted load balancer." "description": "polaris weighted random load balancer."
}, },
{ {
"value": "polarisRingHash", "value": "polarisRingHash",

@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
* @author Haotian Zhang * @author Haotian Zhang
*/ */
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
public class PolarisWeightedLoadBalancerAutoConfigurationTest { public class PolarisWeightedRandomLoadBalancerAutoConfigurationTest {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withPropertyValues("spring.application.name=" + SERVICE_PROVIDER) .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER)

@ -52,12 +52,12 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
/** /**
* Test for {@link PolarisWeightedLoadBalancer}. * Test for {@link PolarisWeightedRandomLoadBalancer}.
* *
* @author rod.xu * @author rod.xu
*/ */
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
public class PolarisWeightedLoadBalancerTest { public class PolarisWeightedRandomLoadBalancerTest {
private static MockedStatic<ApplicationContextAwareUtils> mockedApplicationContextAwareUtils; private static MockedStatic<ApplicationContextAwareUtils> mockedApplicationContextAwareUtils;
private static Instance testInstance; private static Instance testInstance;
@ -97,8 +97,8 @@ public class PolarisWeightedLoadBalancerTest {
when(routerAPI.processLoadBalance(any())).thenReturn(mockLbRes); when(routerAPI.processLoadBalance(any())).thenReturn(mockLbRes);
// request construct and execute invoke // request construct and execute invoke
PolarisWeightedLoadBalancer polarisWeightedLoadBalancer = new PolarisWeightedLoadBalancer(LOCAL_SERVICE, supplierObjectProvider, routerAPI); PolarisWeightedRandomLoadBalancer polarisWeightedRandomLoadBalancer = new PolarisWeightedRandomLoadBalancer(LOCAL_SERVICE, supplierObjectProvider, routerAPI);
Mono<Response<ServiceInstance>> responseMono = polarisWeightedLoadBalancer.choose(request); Mono<Response<ServiceInstance>> responseMono = polarisWeightedRandomLoadBalancer.choose(request);
ServiceInstance serviceInstance = responseMono.block().getServer(); ServiceInstance serviceInstance = responseMono.block().getServer();
// verify method has invoked // verify method has invoked
Loading…
Cancel
Save