|
|
|
@ -4,9 +4,9 @@ import com.gitee.sop.gatewaycommon.zuul.loadbalancer.ServiceGrayConfig; |
|
|
|
|
import com.google.common.collect.Maps; |
|
|
|
|
import com.google.common.collect.Sets; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author tanghc |
|
|
|
@ -18,17 +18,13 @@ public class DefaultEnvGrayManager implements EnvGrayManager { |
|
|
|
|
*/ |
|
|
|
|
private Map<String, ServiceGrayConfig> serviceUserKeyMap = Maps.newConcurrentMap(); |
|
|
|
|
|
|
|
|
|
private Map<String, List<String>> serviceInstanceIdMap = Maps.newConcurrentMap(); |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void addServiceInstance(String serviceId, String instanceId) { |
|
|
|
|
List<String> instanceIdList = serviceInstanceIdMap.computeIfAbsent(serviceId, key -> new ArrayList<>()); |
|
|
|
|
instanceIdList.add(instanceId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<String> listGrayInstanceId(String serviceId) { |
|
|
|
|
return serviceInstanceIdMap.get(serviceId); |
|
|
|
|
return serviceUserKeyMap |
|
|
|
|
.values() |
|
|
|
|
.stream() |
|
|
|
|
.map(ServiceGrayConfig::getInstanceId) |
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -51,6 +47,7 @@ public class DefaultEnvGrayManager implements EnvGrayManager { |
|
|
|
|
public ServiceGrayConfig getServiceGrayConfig(String instanceId) { |
|
|
|
|
return serviceUserKeyMap.computeIfAbsent(instanceId, key -> { |
|
|
|
|
ServiceGrayConfig serviceGrayConfig = new ServiceGrayConfig(); |
|
|
|
|
serviceGrayConfig.setInstanceId(instanceId); |
|
|
|
|
serviceGrayConfig.setUserKeys(Sets.newConcurrentHashSet()); |
|
|
|
|
serviceGrayConfig.setGrayNameVersion(Maps.newConcurrentMap()); |
|
|
|
|
return serviceGrayConfig; |
|
|
|
|