Browse Source

删除 AsyncMsg

reghao 4 years ago
parent
commit
9e3fd49c18

+ 0 - 38
common/src/main/java/cn/reghao/autodop/common/message/AsyncMsg.java

@@ -1,38 +0,0 @@
-package cn.reghao.autodop.common.message;
-
-import lombok.Data;
-
-import java.util.UUID;
-
-/**
- * 异步消息
- * 执行两次序列化,对 payload 执行一次序列化,然后对 AsyncMsg 执行一次序列化
- *
- * @author reghao
- * @date 2020-12-25 17:49:26
- */
-@Data
-public class AsyncMsg {
-    private String msgId;
-    private String machineId;
-    private long sendTime;
-    // MessageType
-    private String type;
-    // MachineOps 或 AppOps
-    private String ops;
-    private String payload;
-
-    public AsyncMsg() {
-        this.msgId = UUID.randomUUID().toString();
-    }
-
-    public static AsyncMsg asyncMsg(String machineId, String type, String ops, String payload) {
-        AsyncMsg asyncMsg = new AsyncMsg();
-        asyncMsg.setMachineId(machineId);
-        asyncMsg.setSendTime(System.currentTimeMillis());
-        asyncMsg.setType(type);
-        asyncMsg.setOps(ops);
-        asyncMsg.setPayload(payload);
-        return asyncMsg;
-    }
-}

+ 0 - 33
common/src/main/java/cn/reghao/autodop/common/message/CallResult.java

@@ -1,33 +0,0 @@
-package cn.reghao.autodop.common.message;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-
-import static cn.reghao.jdkutil.result.ResultStatus.*;
-
-/**
- * RPC 调用结果
- *
- * @author reghao
- * @date 2020-09-07 23:04:16
- */
-@Data
-@AllArgsConstructor
-public class CallResult<T> {
-    // 0 - 成功 1 - 失败
-    private int code;
-    private String msg;
-    private T data;
-
-    public static <T> CallResult<T> success(T data) {
-        return new CallResult<>(SUCCESS.getCode(), SUCCESS.getMsg(), data);
-    }
-
-    public static <T> CallResult<T> fail(String msg) {
-        return new CallResult<>(FAIL.getCode(), msg, null);
-    }
-
-    public static <T>CallResult<T> error(String msg) {
-        return new CallResult<>(ERROR.getCode(), msg, null);
-    }
-}

+ 0 - 9
common/src/main/java/cn/reghao/autodop/common/message/MessageType.java

@@ -1,9 +0,0 @@
-package cn.reghao.autodop.common.message;
-
-/**
- * @author reghao
- * @date 2020-12-25 17:49:44
- */
-public enum MessageType {
-    dagentType, machineType, appType, dockerType
-}

+ 0 - 10
common/src/main/java/cn/reghao/autodop/common/message/ops/AppOps.java

@@ -1,10 +0,0 @@
-package cn.reghao.autodop.common.message.ops;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum AppOps {
-    appDeploy, appStatus, appRestart, appStop, appStart, appLog,
-    appDeployResult, appStatusResult, appRestartResult, appStopResult, appStartResult, appLogResult
-}

+ 0 - 9
common/src/main/java/cn/reghao/autodop/common/message/ops/DagentOps.java

@@ -1,9 +0,0 @@
-package cn.reghao.autodop.common.message.ops;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum DagentOps {
-    dagentStart, dagentHeartbeat, dagnetShutdown, dagentLog
-}

+ 0 - 10
common/src/main/java/cn/reghao/autodop/common/message/ops/DockerOps.java

@@ -1,10 +0,0 @@
-package cn.reghao.autodop.common.message.ops;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum DockerOps {
-    dockerImage,
-    dockerImageResult,
-}

+ 0 - 10
common/src/main/java/cn/reghao/autodop/common/message/ops/MachineOps.java

@@ -1,10 +0,0 @@
-package cn.reghao.autodop.common.message.ops;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum MachineOps {
-    machineShell, machineStat,
-    machineShellResult, machineStatResult,
-}

+ 0 - 9
common/src/main/java/cn/reghao/autodop/common/message/ops/OpsProcessor.java

@@ -1,9 +0,0 @@
-package cn.reghao.autodop.common.message.ops;
-
-/**
- * @author reghao
- * @date 2021-06-09 13:43:16
- */
-public interface OpsProcessor {
-    void process(String msgId, String ops, String payload) throws Exception;
-}

+ 5 - 6
common/src/main/java/cn/reghao/autodop/common/mqtt/DefaultMqttClient.java

@@ -1,6 +1,5 @@
 package cn.reghao.autodop.common.mqtt;
 
-import cn.reghao.autodop.common.message.AsyncMsg;
 import cn.reghao.autodop.common.msg.Message;
 import cn.reghao.autodop.common.msg.rpc.RpcMsg;
 import cn.reghao.jdkutil.MachineId;
@@ -23,8 +22,8 @@ import java.util.Map;
 public class DefaultMqttClient implements AutoCloseable {
     private final MosquittoProperties properties;
     private final MqttClient client;
-    // 记录需要返回结果的 pub 消息, size 为 0 时表示所有 pub 消息的结果都已 sub
-    private final Map<String, RpcMsg> pubSubRecorder = new HashMap<>();
+    // 记录 RPC 调用, size 为 0 时表示所有 pub 消息的结果都已 sub
+    private final Map<String, RpcMsg> rpcRecorder = new HashMap<>();
     private final Map<String, IMqttMessageListener> subMap = new HashMap<>();
     private final MqttCallback callback = new MqttClientCallback();
 
@@ -54,11 +53,11 @@ public class DefaultMqttClient implements AutoCloseable {
     }
 
     public void putRecord(String msgId, RpcMsg rpcMsg) {
-        pubSubRecorder.put(msgId, rpcMsg);
+        rpcRecorder.put(msgId, rpcMsg);
     }
 
     public void removeRecord(String msgId) {
-        pubSubRecorder.remove(msgId);
+        rpcRecorder.remove(msgId);
     }
 
     public boolean isConnected() {
@@ -124,7 +123,7 @@ public class DefaultMqttClient implements AutoCloseable {
 
         connect();
         client.publish(topic, mqttMessage);
-        pubSubRecorder.put(message.getRpcMsg().getMsgId(), message.getRpcMsg());
+        rpcRecorder.put(message.getRpcMsg().getMsgId(), message.getRpcMsg());
     }
 
     class MqttClientCallback implements MqttCallbackExtended {

+ 0 - 191
dagent/src/main/java/cn/reghao/autodop/dagent/app/App.java

@@ -1,191 +0,0 @@
-package cn.reghao.autodop.dagent.app;
-
-import cn.reghao.autodop.common.msg.rpc.dto.app.AppIdParam;
-import cn.reghao.autodop.common.msg.rpc.dto.app.AppStatus;
-import cn.reghao.autodop.common.msg.rpc.dto.app.DeployResult;
-import cn.reghao.autodop.common.msg.rpc.dto.app.DeployParam;
-import cn.reghao.autodop.common.msg.rpc.dto.app.PackType;
-import cn.reghao.autodop.common.dagent.app.log.AppLogArgs;
-import cn.reghao.autodop.common.dagent.app.log.LogConfig;
-import cn.reghao.autodop.common.dagent.app.log.LogFile;
-import cn.reghao.autodop.common.docker.exception.DockerException;
-import cn.reghao.autodop.common.message.CallResult;
-import cn.reghao.jdkutil.MachineId;
-import cn.reghao.jdkutil.result.Result;
-import cn.reghao.jdkutil.result.ResultStatus;
-import cn.reghao.autodop.common.util.ExceptionUtil;
-import cn.reghao.jdkutil.serializer.JsonConverter;
-import cn.reghao.autodop.dagent.spring.DagentLifecycle;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2021-02-22 16:20:22
- */
-@Slf4j
-@Component
-public class App {
-    private final DockerAppServiceImpl dockerAppServiceImpl;
-    private final ZipAppServiceImpl zipAppServiceImpl;
-
-    public App() {
-        // TODO 对于托管给 Spring 的对象,这种创建对象的方式是否合理
-        this.dockerAppServiceImpl = new DockerAppServiceImpl();
-        this.zipAppServiceImpl = new ZipAppServiceImpl();
-    }
-
-    public DeployResult deploy(String payload) {
-        DeployParam deployParam = JsonConverter.jsonToObject(payload, DeployParam.class);
-        String buildLogId = deployParam.getBuildLogId();
-        String packType = deployParam.getPackType();
-
-        AppStatus appStatus;
-        DeployResult deployResult = new DeployResult(buildLogId, MachineId.id(), MachineId.ipv4());
-        switch (PackType.valueOf(packType)) {
-            case docker:
-                try {
-                    appStatus = dockerAppServiceImpl.deploy(deployParam);
-                    deployResult.setResult(Result.result(ResultStatus.SUCCESS));
-                    deployResult.setAppStatus(appStatus);
-                } catch (DockerException e) {
-                    deployResult.setResult(Result.result(ResultStatus.FAIL, ExceptionUtil.errorMsg(e)));
-                }
-                break;
-            case zip:
-                appStatus = zipAppServiceImpl.deploy(deployParam);
-                deployResult.setResult(Result.result(ResultStatus.SUCCESS));
-                deployResult.setAppStatus(appStatus);
-                break;
-            default:
-                String msg = "打包类型 " + deployParam.getPackType() + " 不存在";
-                deployResult.setResult(Result.result(ResultStatus.ERROR, msg));
-        }
-        return deployResult;
-    }
-
-    public CallResult log(String payload) {
-        try {
-            AppLogArgs appLogArgs = JsonConverter.jsonToObject(payload, AppLogArgs.class);
-            String packerType = appLogArgs.getPackerType();
-            long count = appLogArgs.getLogConfigs().stream().filter(LogConfig::getIsDir).count();
-
-            switch (PackType.valueOf(packerType)) {
-                case docker:
-                    if (count > 0) {
-                        List<LogFile> logFiles = dockerAppServiceImpl.logFiles(appLogArgs);
-                        return CallResult.success(logFiles);
-                    } else {
-                        List<String> logContent = dockerAppServiceImpl.logContent(appLogArgs);
-                        return CallResult.success(logContent);
-                    }
-                case zip:
-                    if (count > 0) {
-                        List<LogFile> logFiles = zipAppServiceImpl.logFiles(appLogArgs);
-                        return CallResult.success(logFiles);
-                    } else {
-                        List<String> logContent = zipAppServiceImpl.logContent(appLogArgs);
-                        return CallResult.success(logContent);
-                    }
-                default:
-                    return CallResult.error("打包类型 " + appLogArgs.getPackerType() + " 不存在");
-            }
-        } catch (Exception e) {
-            return CallResult.fail(ExceptionUtil.errorMsg(e));
-        }
-    }
-
-    public CallResult<AppStatus> status(String payload) {
-        AppIdParam appIdParam = JsonConverter.jsonToObject(payload, AppIdParam.class);
-        String appId = appIdParam.getAppId();
-        String packerType = appIdParam.getPackerType();
-
-        AppStatus appStatus;
-        switch (PackType.valueOf(packerType)) {
-            case docker:
-                try {
-                    appStatus = dockerAppServiceImpl.status(appId);
-                } catch (DockerException e) {
-                    return CallResult.fail(ExceptionUtil.errorMsg(e));
-                }
-                break;
-            case zip:
-                appStatus = zipAppServiceImpl.status(appId);
-                break;
-            default:
-                return CallResult.error("打包类型 " + appIdParam.getPackerType() + " 不存在");
-        }
-        return CallResult.success(appStatus);
-    }
-
-    public CallResult<AppStatus> restart(String payload) {
-        AppIdParam appIdParam = JsonConverter.jsonToObject(payload, AppIdParam.class);
-        String appId = appIdParam.getAppId();
-        String packerType = appIdParam.getPackerType();
-
-        AppStatus appStatus;
-        switch (PackType.valueOf(packerType)) {
-            case docker:
-                try {
-                    appStatus = dockerAppServiceImpl.restart(appId);
-                } catch (DockerException e) {
-                    return CallResult.fail(ExceptionUtil.errorMsg(e));
-                }
-                break;
-            case zip:
-                appStatus = zipAppServiceImpl.restart(appId);
-                break;
-            default:
-                return CallResult.error("打包类型 " + appIdParam.getPackerType() + " 不存在");
-        }
-        return CallResult.success(appStatus);
-    }
-
-    public CallResult<AppStatus> stop(String payload) {
-        AppIdParam appIdParam = JsonConverter.jsonToObject(payload, AppIdParam.class);
-        String appId = appIdParam.getAppId();
-        String packerType = appIdParam.getPackerType();
-
-        AppStatus appStatus;
-        switch (PackType.valueOf(packerType)) {
-            case docker:
-                try {
-                    appStatus = dockerAppServiceImpl.stop(appId);
-                } catch (DockerException e) {
-                    return CallResult.fail(ExceptionUtil.errorMsg(e));
-                }
-                break;
-            case zip:
-                appStatus = zipAppServiceImpl.stop(appId);
-                break;
-            default:
-                return CallResult.error("打包类型 " + appIdParam.getPackerType() + " 不存在");
-        }
-        return CallResult.success(appStatus);
-    }
-
-    public CallResult<AppStatus> start(String payload) {
-        AppIdParam appIdParam = JsonConverter.jsonToObject(payload, AppIdParam.class);
-        String appId = appIdParam.getAppId();
-        String packerType = appIdParam.getPackerType();
-
-        AppStatus appStatus;
-        switch (PackType.valueOf(packerType)) {
-            case docker:
-                try {
-                    appStatus = dockerAppServiceImpl.start(appId);
-                } catch (DockerException e) {
-                    return CallResult.fail(ExceptionUtil.errorMsg(e));
-                }
-                break;
-            case zip:
-                appStatus = zipAppServiceImpl.start(appId);
-                break;
-            default:
-                return CallResult.error("打包类型 " + appIdParam.getPackerType() + " 不存在");
-        }
-        return CallResult.success(appStatus);
-    }
-}

+ 8 - 3
dagent/src/main/resources/application-dev.yml

@@ -1,5 +1,10 @@
+#mosquitto:
+#  broker: tcp://localhost:1883
+#  username: dev
+#  password: Dev@123456
+#  clientId: dagent
 mosquitto:
-  broker: tcp://localhost:1883
-  username: dev
-  password: Dev@123456
+  broker: tcp://s75.iquizoo.com:1883
+  username: test
+  password: Test@123456
   clientId: dagent

+ 1 - 1
dagent/src/main/resources/application-test.yml

@@ -1,5 +1,5 @@
 mosquitto:
-  broker: tcp://mosquitto.alpha.iquizoo.com:1883
+  broker: tcp://s75.iquizoo.com:1883
   username: test
   password: Test@123456
   clientId: dagent

+ 0 - 11
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/bd/AppDeployer.java

@@ -1,8 +1,5 @@
 package cn.reghao.autodop.dmaster.app.service.bd;
 
-import cn.reghao.autodop.common.message.AsyncMsg;
-import cn.reghao.autodop.common.message.MessageType;
-import cn.reghao.autodop.common.message.ops.AppOps;
 import cn.reghao.autodop.common.msg.Message;
 import cn.reghao.autodop.common.msg.MsgQueue;
 import cn.reghao.autodop.common.msg.rpc.RpcMsg;
@@ -51,14 +48,6 @@ public class AppDeployer {
             String startScript = deployConfig.getStartScript();
             deployParam.setStartScript(startScript);
 
-            String machineId = deployConfig.getMachineId();
-            AsyncMsg asyncMsg = new AsyncMsg();
-            asyncMsg.setMachineId(deployConfig.getMachineId());
-            asyncMsg.setSendTime(System.currentTimeMillis());
-            asyncMsg.setType(MessageType.appType.name());
-            asyncMsg.setOps(AppOps.appDeploy.name());
-            asyncMsg.setPayload(JsonConverter.objectToJson(deployParam));
-
             RpcPayload rpcPayload = RpcPayload.rpcPayload(AppRpcClazz.class.getSimpleName(), AppRpcClazz.deploy.name(),
                     JsonConverter.objectToJson(deployParam));
             RpcMsg rpcMsg = RpcMsg.callMsg(rpcPayload);

+ 0 - 39
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/impl/AppStatusServiceImpl.java

@@ -1,9 +1,6 @@
 package cn.reghao.autodop.dmaster.app.service.impl;
 
 import cn.reghao.autodop.common.dagent.app.log.LogFile;
-import cn.reghao.autodop.common.message.AsyncMsg;
-import cn.reghao.autodop.common.message.MessageType;
-import cn.reghao.autodop.common.message.ops.AppOps;
 import cn.reghao.autodop.common.mqtt.DefaultMqttClient;
 import cn.reghao.autodop.common.msg.rpc.dto.app.AppIdParam;
 import cn.reghao.autodop.dmaster.app.db.query.config.AppConfigQuery;
@@ -42,37 +39,16 @@ public class AppStatusServiceImpl implements AppStatusService {
         AppConfig app = appConfigQuery.findByAppId(appId);
         switch (statusOps) {
             case restart:
-                setAppStatus(app, machineId, AppOps.appRestart);
                 break;
             case stop:
-                setAppStatus(app, machineId, AppOps.appStop);
                 break;
             case start:
-                setAppStatus(app, machineId, AppOps.appStart);
                 break;
             default:
                 ;
         }
     }
 
-    private void setAppStatus(AppConfig app, String machineId, AppOps appOps) {
-        AppIdParam appIdParam = new AppIdParam(app.getPackerConfig().getType(), app.getAppId());
-        AsyncMsg asyncMsg = new AsyncMsg();
-        asyncMsg.setMachineId(machineId);
-        asyncMsg.setSendTime(System.currentTimeMillis());
-        asyncMsg.setType(MessageType.appType.name());
-        asyncMsg.setOps(appOps.name());
-        asyncMsg.setPayload(JsonConverter.objectToJson(appIdParam));
-
-        String topic = "dagent/" + machineId;
-        // TODO 获取应用状态
-        /*try {
-            mqttClient.pubWithResult(topic, 1, asyncMsg);
-        } catch (MqttException e) {
-            e.printStackTrace();
-        }*/
-    }
-
     @Override
     public void refreshAppStatus() {
         List<AppRunning> appRunnings = runningRepository.findAll();
@@ -99,21 +75,6 @@ public class AppStatusServiceImpl implements AppStatusService {
 
     @Override
     public void getStatus(AppConfig app, String machineId) {
-        AppIdParam appIdParam = new AppIdParam(app.getPackerConfig().getType(), app.getAppId());
-        AsyncMsg asyncMsg = new AsyncMsg();
-        asyncMsg.setMachineId(machineId);
-        asyncMsg.setSendTime(System.currentTimeMillis());
-        asyncMsg.setType(MessageType.appType.name());
-        asyncMsg.setOps(AppOps.appStatus.name());
-        asyncMsg.setPayload(JsonConverter.objectToJson(appIdParam));
-
-        String topic = "dagent/" + machineId;
-        // TODO 获取应用状态
-        /*try {
-            mqttClient.pubWithResult(topic, 1, asyncMsg);
-        } catch (MqttException e) {
-            e.printStackTrace();
-        }*/
     }
 
     /**

+ 8 - 7
dmaster/src/main/resources/application-dev.yml

@@ -10,15 +10,16 @@ spring:
       authentication-database: admin
       username: dev
       password: Dev@123456
+#mosquitto:
+#  broker: tcp://localhost:1883
+#  username: dev
+#  password: Dev@123456
+#  clientId: dmaster
 mosquitto:
-  broker: tcp://localhost:1883
-  username: dev
-  password: Dev@123456
+  broker: tcp://s75.iquizoo.com:1883
+  username: test
+  password: Test@123456
   clientId: dmaster
-#mosquitto:
-#  broker: tcp://192.168.0.220:1883
-#  username: test
-#  password: Test@123456
 oss:
   host: http://static.reghao.icu
   key: minioadmin

+ 1 - 1
dmaster/src/main/resources/application-test.yml

@@ -7,7 +7,7 @@ spring:
     mongodb:
       uri: mongodb://mongodb.alpha.iquizoo.com/devops_tdb
 mosquitto:
-  broker: tcp://mosquitto.alpha.iquizoo.com:1883
+  broker: tcp://s75.iquizoo.com:1883
   username: test
   password: Test@123456
   clientId: dmaster

+ 0 - 5
dmaster/src/main/resources/templates/app/bd/build.html

@@ -32,11 +32,6 @@
                     </button>
                 </div>
             </div>
-            <div class="pull-right screen-btn-group">
-                <div class="btn-group-right">
-                    <a class="ajax-post" th:href="@{'/api/app/bd/refresh'}">刷新构建列表</a>
-                </div>
-            </div>
         </div>
         <div class="timo-table-wrap">
             <table class="layui-table timo-table">