第6次优化
parent
ff7dfdc1e4
commit
e70a315159
|
@ -2,6 +2,7 @@ package com.lyh;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ProjectName: Default (Template) Project
|
* @ProjectName: Default (Template) Project
|
||||||
|
@ -11,8 +12,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
//@EnableScheduling
|
@EnableScheduling
|
||||||
//@EnableFeignClients
|
|
||||||
public class LoadCenterApplication {
|
public class LoadCenterApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(LoadCenterApplication.class, args);
|
SpringApplication.run(LoadCenterApplication.class, args);
|
||||||
|
|
|
@ -154,7 +154,7 @@ public class RedisService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T getCacheList(final String key, Long index) {
|
public <T> T getCacheList(final String key, Long index) {
|
||||||
return (T) redisTemplate.opsForList().index(key, index );
|
return (T) redisTemplate.opsForList().index(key, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -31,59 +31,59 @@ public class Result<T> implements Serializable {
|
||||||
|
|
||||||
private T data;
|
private T data;
|
||||||
|
|
||||||
public static <T> Result<T> success () {
|
public static <T> Result<T> success() {
|
||||||
return restResult(null, SUCCESS, "操作成功");
|
return restResult(null, SUCCESS, "操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> success (T data) {
|
public static <T> Result<T> success(T data) {
|
||||||
return restResult(data, SUCCESS, "操作成功");
|
return restResult(data, SUCCESS, "操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> success (T data, String msg) {
|
public static <T> Result<T> success(T data, String msg) {
|
||||||
return restResult(data, SUCCESS, msg);
|
return restResult(data, SUCCESS, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> error () {
|
public static <T> Result<T> error() {
|
||||||
return restResult(null, FAIL, "操作失败");
|
return restResult(null, FAIL, "操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> error (String msg) {
|
public static <T> Result<T> error(String msg) {
|
||||||
return restResult(null, FAIL, msg);
|
return restResult(null, FAIL, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> error (T data) {
|
public static <T> Result<T> error(T data) {
|
||||||
return restResult(data, FAIL, "操作失败");
|
return restResult(data, FAIL, "操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> error (T data, String msg) {
|
public static <T> Result<T> error(T data, String msg) {
|
||||||
return restResult(data, FAIL, msg);
|
return restResult(data, FAIL, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> error (int code, String msg) {
|
public static <T> Result<T> error(int code, String msg) {
|
||||||
return restResult(null, code, msg);
|
return restResult(null, code, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> warn () {
|
public static <T> Result<T> warn() {
|
||||||
return restResult(null, WARN, "操作失败");
|
return restResult(null, WARN, "操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> warn (String msg) {
|
public static <T> Result<T> warn(String msg) {
|
||||||
return restResult(null, WARN, msg);
|
return restResult(null, WARN, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> warn (T data) {
|
public static <T> Result<T> warn(T data) {
|
||||||
return restResult(data, WARN, "操作失败");
|
return restResult(data, WARN, "操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> warn (T data, String msg) {
|
public static <T> Result<T> warn(T data, String msg) {
|
||||||
return restResult(data, WARN, msg);
|
return restResult(data, WARN, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Result<T> warn (int code, String msg) {
|
public static <T> Result<T> warn(int code, String msg) {
|
||||||
return restResult(null, code, msg);
|
return restResult(null, code, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static <T> Result<T> restResult (T data, int code, String msg) {
|
private static <T> Result<T> restResult(T data, int code, String msg) {
|
||||||
Result<T> apiResult = new Result<>();
|
Result<T> apiResult = new Result<>();
|
||||||
apiResult.setCode(code);
|
apiResult.setCode(code);
|
||||||
apiResult.setData(data);
|
apiResult.setData(data);
|
||||||
|
@ -91,11 +91,11 @@ public class Result<T> implements Serializable {
|
||||||
return apiResult;
|
return apiResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Boolean isError (Result<T> ret) {
|
public static <T> Boolean isError(Result<T> ret) {
|
||||||
return !isSuccess(ret);
|
return !isSuccess(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> Boolean isSuccess (Result<T> ret) {
|
public static <T> Boolean isSuccess(Result<T> ret) {
|
||||||
return Result.SUCCESS == ret.getCode();
|
return Result.SUCCESS == ret.getCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import com.lyh.domain.resp.Result;
|
||||||
import com.lyh.service.LoadCenterService;
|
import com.lyh.service.LoadCenterService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
@ -36,6 +37,19 @@ public class LoadCenterServiceImpl implements LoadCenterService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private AliYunEcsService aliYunEcsService;
|
private AliYunEcsService aliYunEcsService;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @Author: LiuYunHu
|
||||||
|
* @Date: 2024/4/17 20:31
|
||||||
|
* @Description: 定时刷新实例公网IP列表缓存
|
||||||
|
* @Param: []
|
||||||
|
* @Return: void
|
||||||
|
**/
|
||||||
|
@Scheduled(cron = "0/2 * * * * ?")
|
||||||
|
public void refreshEcsIPListCache() {
|
||||||
|
getEcsIPList();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @Author: LiuYunHu
|
* @Author: LiuYunHu
|
||||||
* @Date: 2024/4/15 21:49
|
* @Date: 2024/4/15 21:49
|
||||||
|
@ -46,10 +60,6 @@ public class LoadCenterServiceImpl implements LoadCenterService {
|
||||||
@Override
|
@Override
|
||||||
public Result<String> getAssignedServer() {
|
public Result<String> getAssignedServer() {
|
||||||
|
|
||||||
|
|
||||||
//刷新一下 实例公网IP列 缓存
|
|
||||||
this.getEcsIPList();
|
|
||||||
|
|
||||||
//从缓存中获取实例公网IP列表
|
//从缓存中获取实例公网IP列表
|
||||||
if (redis.getCacheList("实例IP列表:").isEmpty()) {
|
if (redis.getCacheList("实例IP列表:").isEmpty()) {
|
||||||
throw new RuntimeException("实例IP列表为空!");
|
throw new RuntimeException("实例IP列表为空!");
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class Test {
|
||||||
//通过实例ID获取实例的详细属性 多个实例用英文逗号隔开
|
//通过实例ID获取实例的详细属性 多个实例用英文逗号隔开
|
||||||
List<DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance> describeInstancesResponseBodyInstancesInstances = aliYunEcsService.queryInstancesInformation(instanceId);
|
List<DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance> describeInstancesResponseBodyInstancesInstances = aliYunEcsService.queryInstancesInformation(instanceId);
|
||||||
|
|
||||||
describeInstancesResponseBodyInstancesInstances.forEach(item->{
|
describeInstancesResponseBodyInstancesInstances.forEach(item -> {
|
||||||
//循环打印所有的实例IP
|
//循环打印所有的实例IP
|
||||||
log.info(UserUtil.removeBrackets(item.getPublicIpAddress().getIpAddress().toString()));
|
log.info(UserUtil.removeBrackets(item.getPublicIpAddress().getIpAddress().toString()));
|
||||||
});
|
});
|
||||||
|
@ -54,7 +54,7 @@ public class Test {
|
||||||
//获取添加的实例的公网ip
|
//获取添加的实例的公网ip
|
||||||
String instanceIp = UserUtil.removeBrackets(response.getPublicIpAddress().getIpAddress().toString());
|
String instanceIp = UserUtil.removeBrackets(response.getPublicIpAddress().getIpAddress().toString());
|
||||||
log.info("-----------------------");
|
log.info("-----------------------");
|
||||||
log.info("第一个实例的公网IP为:"+instanceIp);
|
log.info("第一个实例的公网IP为:" + instanceIp);
|
||||||
log.info("-----------------------");
|
log.info("-----------------------");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ public class Test {
|
||||||
**/
|
**/
|
||||||
@org.junit.jupiter.api.Test
|
@org.junit.jupiter.api.Test
|
||||||
public void releaseInstances() throws Exception {
|
public void releaseInstances() throws Exception {
|
||||||
aliYunEcsService.releaseInstances("i-uf624nmh7j2nzlzxnd1u");
|
aliYunEcsService.releaseInstances("i-uf6dmmscd3b64m0jqs9f");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue