mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-12 07:02:14 +08:00
admin服务列表在线靠前
This commit is contained in:
@@ -82,8 +82,10 @@
|
|||||||
<el-button v-if="!scope.row.metadata.env" type="text" size="mini" @click="onEnvPreOpen(scope.row)">开启预发布</el-button>
|
<el-button v-if="!scope.row.metadata.env" type="text" size="mini" @click="onEnvPreOpen(scope.row)">开启预发布</el-button>
|
||||||
<el-button v-if="!scope.row.metadata.env" type="text" size="mini" @click="onEnvGrayOpen(scope.row)">开启灰度</el-button>
|
<el-button v-if="!scope.row.metadata.env" type="text" size="mini" @click="onEnvGrayOpen(scope.row)">开启灰度</el-button>
|
||||||
</span>
|
</span>
|
||||||
<el-button v-if="scope.row.status === 'UP'" type="text" size="mini" @click="onDisable(scope.row)">禁用</el-button>
|
<span style="margin-left: 10px;">
|
||||||
<el-button v-if="scope.row.status === 'OUT_OF_SERVICE'" type="text" size="mini" @click="onEnable(scope.row)">启用</el-button>
|
<el-button v-if="scope.row.status === 'UP'" type="text" size="mini" @click="onDisable(scope.row)">禁用</el-button>
|
||||||
|
<el-button v-if="scope.row.status === 'OUT_OF_SERVICE'" type="text" size="mini" @click="onEnable(scope.row)">启用</el-button>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@@ -11,6 +11,7 @@ import com.gitee.sop.registryapi.bean.HttpTool;
|
|||||||
import com.gitee.sop.registryapi.bean.ServiceInfo;
|
import com.gitee.sop.registryapi.bean.ServiceInfo;
|
||||||
import com.gitee.sop.registryapi.bean.ServiceInstance;
|
import com.gitee.sop.registryapi.bean.ServiceInstance;
|
||||||
import com.gitee.sop.registryapi.service.RegistryService;
|
import com.gitee.sop.registryapi.service.RegistryService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
@@ -19,7 +20,6 @@ import javax.annotation.PostConstruct;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -28,6 +28,7 @@ import java.util.Map;
|
|||||||
* nacos接口实现, https://nacos.io/zh-cn/docs/open-api.html
|
* nacos接口实现, https://nacos.io/zh-cn/docs/open-api.html
|
||||||
* @author tanghc
|
* @author tanghc
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
public class RegistryServiceNacos implements RegistryService {
|
public class RegistryServiceNacos implements RegistryService {
|
||||||
|
|
||||||
static HttpTool httpTool = new HttpTool();
|
static HttpTool httpTool = new HttpTool();
|
||||||
@@ -72,7 +73,7 @@ public class RegistryServiceNacos implements RegistryService {
|
|||||||
}
|
}
|
||||||
serviceInfoList.add(serviceInfo);
|
serviceInfoList.add(serviceInfo);
|
||||||
}
|
}
|
||||||
serviceInfoList.sort(Comparator.comparingInt(o -> o.getInstances().size()));
|
serviceInfoList.sort((o1, o2) -> o2.getInstances().size() - o1.getInstances().size());
|
||||||
return serviceInfoList;
|
return serviceInfoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,7 +108,10 @@ public class RegistryServiceNacos implements RegistryService {
|
|||||||
protected void updateInstance(Instance instance) throws IOException {
|
protected void updateInstance(Instance instance) throws IOException {
|
||||||
String json = JSON.toJSONString(instance);
|
String json = JSON.toJSONString(instance);
|
||||||
JSONObject jsonObject = JSON.parseObject(json);
|
JSONObject jsonObject = JSON.parseObject(json);
|
||||||
httpTool.request("http://" + nacosAddr + "/nacos/v1/ns/instance", jsonObject, null, HttpTool.HTTPMethod.PUT);
|
String response = httpTool.request("http://" + nacosAddr + "/nacos/v1/ns/instance", jsonObject, null, HttpTool.HTTPMethod.PUT);
|
||||||
|
if (!"ok".equalsIgnoreCase(response)) {
|
||||||
|
throw new RuntimeException(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,6 +126,8 @@ public class RegistryServiceNacos implements RegistryService {
|
|||||||
params.put("ip", serviceInstance.getIp());
|
params.put("ip", serviceInstance.getIp());
|
||||||
params.put("port", String.valueOf(serviceInstance.getPort()));
|
params.put("port", String.valueOf(serviceInstance.getPort()));
|
||||||
String instanceJson = httpTool.request("http://" + nacosAddr + "/nacos/v1/ns/instance", params, null, HttpTool.HTTPMethod.GET);
|
String instanceJson = httpTool.request("http://" + nacosAddr + "/nacos/v1/ns/instance", params, null, HttpTool.HTTPMethod.GET);
|
||||||
return JSON.parseObject(instanceJson, Instance.class);
|
Instance instance = JSON.parseObject(instanceJson, Instance.class);
|
||||||
|
instance.setServiceName(serviceInstance.getServiceId());
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@ import com.gitee.sop.gatewaycommon.bean.SpringContext;
|
|||||||
import com.gitee.sop.gatewaycommon.param.Param;
|
import com.gitee.sop.gatewaycommon.param.Param;
|
||||||
import com.gitee.sop.gatewaycommon.zuul.loadbalancer.BaseServerChooser;
|
import com.gitee.sop.gatewaycommon.zuul.loadbalancer.BaseServerChooser;
|
||||||
import com.netflix.loadbalancer.Server;
|
import com.netflix.loadbalancer.Server;
|
||||||
import com.netflix.niws.loadbalancer.DiscoveryEnabledServer;
|
import org.springframework.cloud.alibaba.nacos.ribbon.NacosServer;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@@ -41,7 +41,7 @@ public class EnvironmentServerChooser extends BaseServerChooser {
|
|||||||
|
|
||||||
private String getEnvValue(Server server) {
|
private String getEnvValue(Server server) {
|
||||||
// eureka存储的metadata
|
// eureka存储的metadata
|
||||||
Map<String, String> metadata = ((DiscoveryEnabledServer) server).getInstanceInfo().getMetadata();
|
Map<String, String> metadata = ((NacosServer) server).getMetadata();
|
||||||
return metadata.get(MEDATA_KEY_ENV);
|
return metadata.get(MEDATA_KEY_ENV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user