From 3998ea23f75cf22dce19e930ca02c2884a7ab013 Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Wed, 3 Jul 2019 16:55:16 +0800 Subject: [PATCH] NacosRule code format --- .../cloud/alibaba/nacos/ribbon/NacosRule.java | 101 ++++++++++-------- 1 file changed, 55 insertions(+), 46 deletions(-) diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRule.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRule.java index b8cbda2b..e86a0879 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRule.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosRule.java @@ -1,11 +1,9 @@ package org.springframework.cloud.alibaba.nacos.ribbon; -import com.alibaba.nacos.api.naming.NamingService; -import com.alibaba.nacos.api.naming.pojo.Instance; -import com.netflix.client.config.IClientConfig; -import com.netflix.loadbalancer.AbstractLoadBalancerRule; -import com.netflix.loadbalancer.DynamicServerListLoadBalancer; -import com.netflix.loadbalancer.Server; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,57 +11,68 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; import org.springframework.util.CollectionUtils; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.api.naming.pojo.Instance; + +import com.netflix.client.config.IClientConfig; +import com.netflix.loadbalancer.AbstractLoadBalancerRule; +import com.netflix.loadbalancer.DynamicServerListLoadBalancer; +import com.netflix.loadbalancer.Server; /** - * 支持优先调用同集群实例的ribbon负载均衡规则. + * Supports preferentially calling the ribbon load balancing rules of the same cluster + * instance. * * @author itmuch.com */ public class NacosRule extends AbstractLoadBalancerRule { - private static final Logger LOGGER = LoggerFactory.getLogger(NacosRule.class); + private static final Logger LOGGER = LoggerFactory.getLogger(NacosRule.class); - @Autowired - private NacosDiscoveryProperties nacosDiscoveryProperties; + @Autowired + private NacosDiscoveryProperties nacosDiscoveryProperties; - @Override - public Server choose(Object key) { - try { - String clusterName = this.nacosDiscoveryProperties.getClusterName(); - DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer(); - String name = loadBalancer.getName(); + @Override + public Server choose(Object key) { + try { + String clusterName = this.nacosDiscoveryProperties.getClusterName(); + DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer(); + String name = loadBalancer.getName(); - NamingService namingService = this.nacosDiscoveryProperties.namingServiceInstance(); - List instances = namingService.selectInstances(name, true); - if (CollectionUtils.isEmpty(instances)) { - LOGGER.warn("{}服务当前无任何实例", name); - return null; - } + NamingService namingService = this.nacosDiscoveryProperties + .namingServiceInstance(); + List instances = namingService.selectInstances(name, true); + if (CollectionUtils.isEmpty(instances)) { + LOGGER.warn("no instance in service {}", name); + return null; + } - List instancesToChoose = instances; - if (StringUtils.isNotBlank(clusterName)) { - List sameClusterInstances = instances.stream() - .filter(instance -> Objects.equals(clusterName, instance.getClusterName())) - .collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(sameClusterInstances)) { - instancesToChoose = sameClusterInstances; - } else { - LOGGER.warn("发生跨集群的调用,name = {}, clusterName = {}, instance = {}", name, clusterName, instances); - } - } + List instancesToChoose = instances; + if (StringUtils.isNotBlank(clusterName)) { + List sameClusterInstances = instances.stream() + .filter(instance -> Objects.equals(clusterName, + instance.getClusterName())) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(sameClusterInstances)) { + instancesToChoose = sameClusterInstances; + } + else { + LOGGER.warn( + "A cross-cluster call occurs,name = {}, clusterName = {}, instance = {}", + name, clusterName, instances); + } + } - Instance instance = ExtendBalancer.getHostByRandomWeight2(instancesToChoose); + Instance instance = ExtendBalancer.getHostByRandomWeight2(instancesToChoose); - return new NacosServer(instance); - } catch (Exception e) { - LOGGER.warn("NacosRule发生异常", e); - return null; - } - } + return new NacosServer(instance); + } + catch (Exception e) { + LOGGER.warn("NacosRule error", e); + return null; + } + } - @Override - public void initWithNiwsConfig(IClientConfig iClientConfig) { - } + @Override + public void initWithNiwsConfig(IClientConfig iClientConfig) { + } }