Commit 0ac19dbe by Nepxion

增加图形化灰度发布功能

parent 31672cea
...@@ -205,10 +205,8 @@ public class ServiceTopology extends AbstractTopology { ...@@ -205,10 +205,8 @@ public class ServiceTopology extends AbstractTopology {
} }
private void addService(String filterId, String serviceId, List<InstanceEntity> instances) { private void addService(String filterId, String serviceId, List<InstanceEntity> instances) {
// 服务注册发现中心,必须有一个规范,即在同一个服务集群下,必须所有服务的metadata格式一致,例如一个配了group,另一个没有配group String filter = getValidFilter(instances);
InstanceEntity instance = instances.get(0); String plugin = getValidPlugin(instances);
String filter = instance.getFilter();
String plugin = instance.getPlugin();
if (!StringUtils.equals(filterId, NO_FILTER) && !StringUtils.equals(filterId, filter)) { if (!StringUtils.equals(filterId, NO_FILTER) && !StringUtils.equals(filterId, filter)) {
return; return;
...@@ -249,6 +247,30 @@ public class ServiceTopology extends AbstractTopology { ...@@ -249,6 +247,30 @@ public class ServiceTopology extends AbstractTopology {
TElementManager.addGroupChildren(dataBox, group); TElementManager.addGroupChildren(dataBox, group);
} }
private String getValidFilter(List<InstanceEntity> instances) {
// 服务注册发现中心,必须有一个规范,即在同一个服务集群下,必须所有服务的metadata格式一致,例如一个服务配了group,另一个服务没有配group
// 只取有值的那个
for (InstanceEntity instance : instances) {
String filter = instance.getFilter();
if (StringUtils.isNotEmpty(filter)) {
return filter;
}
}
return "";
}
private String getValidPlugin(List<InstanceEntity> instances) {
for (InstanceEntity instance : instances) {
String plugin = instance.getPlugin();
if (StringUtils.isNotEmpty(plugin)) {
return plugin;
}
}
return "";
}
private Object[] filter(Map<String, List<InstanceEntity>> instanceMap) { private Object[] filter(Map<String, List<InstanceEntity>> instanceMap) {
List<String> filters = new ArrayList<String>(); List<String> filters = new ArrayList<String>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment